Überblick
ssh, die secure shell, dient dem entfernten Zugriff auf einen Linux-PC.
Im Gegensatz zu telnet oder ftp werden alle Daten, also auch Kennwörter, verschlüsselt übertragen.
Aufgerufen wird es in einer shell, die Ziel-Rechner-IP ist natürlich anzupassen, kann auch ein auflösbarer Name sein:
ssh 192.168.1.2 oder
ssh irgendein.server.de
Um sich mit einem bestimmten Benutzer anzumelden, muss dieser Benutzername und ein @ der PC-Angabe voran gestellt werden. Als root ist sich anzumelden mit:
ssh root@192.168.1.2
Umleitung der Ausgabe von grafischen Programmen
Ein weiteres Feature ist die Möglichkeit, über ssh die X11-Ein/Ausgabe umzuleiten, d.h. grafische Programme auf dem entfernen Server auszuführen, aber lokal auszugeben. Dies kann besonders sinnvoll sein, wenn ein System mit Grafischen Tools administriert werden muss, wie es z.B. bei Redhat leicht passieren kann.
Dazu ist sich auf dem entfernten Rechner mit einem zusätzlichem großen -X anzumelden mit:
ssh -X 192.168.1.2
Dort kann nun ein grafisches X11-Programme gestartet werden, z.B. durch Eingabe von xclock in der ssh-shell. Es sollte nun auf dem lokalen Bildschirm ausgegeben werden. Bei langsamen Verbindung wie über Modem oder ISDN ist das sehr zäh - einfache Programme wie xclock gehen noch, weniger aber aufwendige wie Netscape oder StarOffice.
Zur Beschleunigungen können die Daten vor der Übertragung komprimiert werden. Dazu ist der Schalter -C zu setzen. Beispiel:
ssh -XC 192.168.1.2
Übrigens: Mit Xming oder xlivecd läuft das sogar unter Windows!
Dateien kopieren
Mit dem Kommando scp können verschlüsselt Dateien auf einen anderen PC kopiert werden. scp gehört zur ssh-Programm-Familie.
Beispiel eines Kopiervorganges: Kopieren der Datei /home/user/tmp/webmin-1.370.tar.gz in das /root Verzeichnis von 192.168.1.2.:
scp /home/user/tmp/webmin-1.370.tar.gz root@192.168.1.2:/root
Tunneling
Weiterhin ist das http://de.wikipedia.org/wiki/Tunnel_(Rechnernetz) von Verbindungen möglich. D.h. man kann Protokolle, die bspw. normalerweise auf Port 110 arbeiten, mittels ssh auf dem freigegebenen Port 80 tunneln.
# Umleitung des lokalen Ports 110 auf den entfernten Port 80 ssh -fNg -L 110:127.0.0.1:80 meyer@beispiel.server.de
Auf dem Rechner, auf dem man sich anmelden möchte, muss ein ssh-Server laufen, auf der anderen Seite ist nur ein Client nötig.
Implementierungen
Die verbreitetste Implementierung dürfte OpenSSH sein. Weitere Implementierungen für Unix finden sich auf http://www.freessh.org/unix.html.
Tipps
Viele Tipps zur Anwendung von ssh sind unter OpenSSH zu finden.