Home / LinuxUser / 2003 / 07 / Zu Befehl: ssh, scp

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Sicher senden

Zu Befehl: ssh, scp

01.07.2003 Die klassischen Unix-Programme Telnet und FTP erlauben Verbindungen und Datei-Transfers zu anderen Rechnern im Netz, sind aber unsicher: Alle Daten werden unverschlüsselt übertragen. Deswegen verwenden man heute die SSH-Tools (Secure Shell), die das Gleiche ermöglichen, dabei aber durch Verschlüsselung für Sicherheit sorgen.

Zu Befehl

Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, in denen es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

SSH (Secure SHell) steht sowohl für den Namen des Protokolls als auch für die Implementierung, das Programm selbst. Hier kommt eine sichere Methode, sich auf anderen Computern über eine verschlüsselte Verbindung einzuloggen, Kommandos (auch X-Anwendungen) auf dem entfernten Rechner auszuführen und Daten zwischen Computern zu kopieren. SSH ermöglicht eine weit sicherere Kommunikation als unverschlüsselte Protokolle, wie z. B. telnet oder ftp, bei denen die Daten und damit auch die Passwörter unverschlüsselt durch das Netz wandern. Die Programme ssh und scp ersetzen damit vollständig die Tools rlogin, rsh und rcp.

Im Moment existieren zwei unterschiedliche und nicht kompatible Versionen des SSH-Protokolls – SSH 1.X und SSH 2.X. Version 1.0 wurde 1995 vom Finnen Tatu Ylönen freigegeben und setzte sich schnell als Standard durch. Bis zur Version 1.2.12 war die Software frei nutzbar; danach änderten sich die Lizenzbedingungen [2]. OpenSSH [3] basiert auf der letzten freien Version und wird ständig weiter entwickelt und verbessert. Zunächst ein reines OpenBSD-Projekt, ist OpenSSH mittlerweile auch für andere Unix-Plattformen verfügbar und spricht seit Version 2.1.0 beide SSH-Protokolle 1.X und 2.X. OpenSSH benutzt die Krypto-Routinen von OpenSSL [5]. Die meisten Linux-Distributionen kommen standardmäßig mit OpenSSH:

huhn@asteroid:~$ ssh -V
OpenSSH_3.4p1 Debian 1:3.4p1-1, SSH protocols 1.5/2.0, OpenSSL 0x0090603f

Richtig verbunden

Zu SSH gehören auf der Client-Seite ssh/slogin als funktionaler Ersatz für telnet, rlogin oder rsh sowie scp zum Kopieren von Dateien (ersetzt ftp und rcp). Der Server ist der sshd (SSH-Daemon). Darüber hinaus gibt es Administrationswerkzeuge wie z. B. ssh-keygen (zum Erzeugen von Schlüsseln), ssh-agent (zur Verwaltung dieser Keys, Automatisierung und Vereinfachung des Logins), ssh-add (Registrierung neuer Schlüssel beim SSH-Agent) und make-ssh-known-hosts (Erstellung einer Liste mit bekannten öffentlichen Host-Keys einer Domain). ssh muss sowohl auf Ihrem eigenen Rechner wie auch auf der Gegenseite installiert sein; genauer: Um eine Verbindung von A nach B aufzubauen, muss auf Rechner A die Client-Software und auf B der Daemon installiert sowie letzterer auch aktiviert sein.

Um eine gesicherte Verbindung zu einem anderen Rechner aufzubauen, tippen Sie

huhn@asteroid:~$ ssh UserID@RemoteHost

oder

huhn@asteroid:~$ ssh -l UserID RemoteHost

wobei die Userid@ nur angegeben werden muss, wenn der Benutzername auf dem anderen System von dem Ihres eigenen Rechners abweicht. Beim Verbindungsaufbau (TCP-Verbindung, Port 22) tauschen Rechner A und B die jeweils verwendete Protokoll-Version aus. Ist diese nicht kompatibel, bricht die Verbindung zusammen:

Protocol major versions differ: 2 vs. 1

Mit den Optionen -1 oder -2 lässt sich aber problemlos auf die richtige Version umschalten. An den ssh-Aufruf darf direkt ein auszuführender Befehl angehängt werden. Diesen setzt man am besten in Anführungszeichen, damit die eigene Shell ihn nicht auswertet:

huhn@asteroid:~$ ssh plutarch "ls uni"
huhn@plutarch's password:
anglistik/   germanistik/

Auch Anwendungen, die die Bildschirmsteuerung selbst übernehmen, lassen sich remote starten. Dazu brauchen Sie allerdings einen zusätzlichen Parameter, um ein "Pseudo-Terminal" zu erschaffen. Mit der Option -t verschlüsselt SSH die Ausgabe des Terminals und zeigt sie im eigenen Fenster wieder entschlüsselt an:

huhn@asteroid:~$ ssh -t plutarch "mutt"

Um X-Anwendungen zu verschlüsseln und auf einem entferten Rechner zu starten, muss sowohl auf der Client- als auch auf der Server-Seite das X-Forwarding eingeschaltet sein. Die Konfigurationsdatei für den Server heißt sshd_config und findet sich im Verzeichnis /etc/ssh. Wie alle systemweiten Einstellungen darf sie nur vom Administrator root verändert werden. Der entsprechende Eintrag lautet

X11Forwarding yes

Die Konfigurationsdatei des SSH-Clients liegt im selben Verzeichnis und heißt ssh_config (ohne "d"). Bei den meisten Distributionen findet sich

#   ForwardX11 no

auskommentiert durch das Raute-Zeichen #. Um das Forwarding dauerhaft einzuschalten, setzen Sie (wiederum als root) die Zeile auf

ForwardX11 yes

Alternativ lässt sich dieses Feature durch den Einsatz der Option -X temporär aktivieren. Um eine X-Anwendung remote zu starten, loggen Sie sich entweder mit ssh [UserID@]RemoteHost oder ssh -X [UserID@]RemoteHost ein und starten diese dann auf der Kommandozeile:

huhn@asteroid:~$ mozilla &

Das Ampersand-Zeichen & stellt den Prozess dabei in den Hintergrund – das Terminal ist also wieder "frei", um weitere Befehle anzunehmen und/oder Anwendungen zu starten. Praktischerweise wird die Variable DISPLAY gleich beim X-Forwarding richtig gesetzt – die Verbindung ist also nicht nur sicher, sondern auch unkompliziert.

Sicher transportiert

Das zweite große Anwendungsgebiet von SSH neben dem geschützten Login ist der Dateitransfer: Hier ersetzt das Tool scp ("secure copy") die ungeschützten Dienste ftp ("file transfer protocol") und rcp ("remote copy"). Eine Datei per scp zu kopieren, ist fast so einfach wie das normale, lokale Kopieren mit cp; ein Beispiel-Aufruf sieht etwa so aus:

huhn@asteroid:~$ scp datei UserID@RemoteHost:

Stimmen die Benutzernamen überein, darf (wie beim ssh-Aufruf) UserID weggelassen werden. Soll die Datei nicht einfach ins Home-Verzeichnis kopiert werden, hängen Sie den Pfad einfach hinter den Doppelpunkt (scp datei UserID@RemoteHost:/tmp/archiv/).

Ganze Verzeichnisbäume rekursiv kopieren Sie mit dem Parameter -r; auch die von cp bekannte Option -p ("preserve"; Rechte und Besitzer/Gruppe erhalten) darf hier verwendet werden. Das ist natürlich nur sinnvoll, wenn User- und Group-IDs auf beiden Systemen identisch sind.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1540 Hits
Wertung: 55 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...