pufferfisch.jpg

© Fotolia, Brian Kieft

Fitte FiSSHe

Sicherer Datentausch per SSH

31.03.2009
Praktisch und sicher: Mit SSH und seinen Ablegern Fish und SFTP tauschen Ihre vernetzten heimischen Windows- und Linux-Rechner Dateien aus und greifen sicher auf Dienste im Internet zu.

Beim Dateienaustausch denken viele Computerexperten schnell an Samba, FTP oder NFS. Dabei ist SSH (Secure Shell) im Alltag oft wesentlich geeignet, wenn es darum geht, schnell mal Dateien zu tauschen oder entfernte Rechner zu steuern.

Secure Shell ist sowohl der Name für ein Protokoll, als auch für Client- und Server-Programme. Die sichere Shell, so die Übersetzung auf Deutsch, verbindet zwei Rechner in einem Netzwerk über eine sichere, d. h. verschlüsselte, Netzwerkverbindung. Es muss sich dabei nicht um ein lokales Netzwerk handeln; Sie loggen sich mit Hilfe eines SSH-Clients auch über das Internet bei einem entfernten SSH-Server ein. Läuft etwa auf dem Rechner an Ihrem Arbeitsplatz ein SSH-Server, können Sie sich von Ihrem heimischen PC auf diesem anmelden und dort Befehle ausführen oder Dateien zwischen den Rechner hin und her übertragen.

Protokoll und Software gibt es seit 1995. SSH war ursprünglich eine von dem Finnen Tatu Ylönen entwickelte Freeware, die aber im Laufe ihrer Entwicklung zu einer proprietären Software wurde. Deshalb gründete sich 1999 das OpenSSH-Projekt, um eine freie Variante von SSH-Server und -Client zu programmieren. Mit Erfolg: Heute haben die meisten Linux-Distributionen Server und Client als Pakete im Gepäck. SSH-Server verwenden standardmäßig den TCP-Port 22.

Von Linux zu Linux

Beginnen wir mit dem einfachsten Fall. Angenommen, Sie betreiben in Ihrem heimischen Netzwerk zwei Linux-Rechner und wollen sich von einem Rechner via SSH auf dem anderen Rechner anmelden. Dann brauchen Sie einen SSH-Client, um sich anzumelden, und einen SSH-Server, der die Anmeldung entgegen nimmt. Einsatzbereite SSH-Clients installieren OpenSuse 11 und Kubuntu 8.10 automatisch mit. Den SSH-Server aktivieren Sie mit ein paar Handgriffen.

Kubuntu installiert standardmäßig keinen SSH-Server. Andernfalls könnten sich andere Benutzer per SSH auf Ihrem Rechner anmelden, wenn sie Ihren Anmeldenamen und das dazugehörige Passwort kennen. Nutzen Sie SSH also gar nicht, ist es sicherer, den SSH-Dienst auch nicht anzubieten. Unter Kubuntu 8.10 installieren Sie den Server über Adept und ein Paket namens openssh-server nach.

OpenSuse 11.0 und 11.1 lösen das Problem ein wenig anders und installieren den SSH-Server automatisch mit. Sie müssen als Anwender allerdings die Firewall per Hand konfigurieren, damit der Server von außen erreichbar wird.

  1. Dazu drücken Sie [Alt]+[F2] und rufen über die Eingabe von yast OpenSuses zentrales Konfigurationswerkzeug auf. Die Software fragt nach dem Root-Passwort.
  2. Klicken Sie im Bereich Sicherheit und Benutzer auf den Eintrag Firewall.
  3. In dem sich nun öffnenden Fenster wählen Sie linkerhand die Option Erlaubte Dienste aus.
  4. Aus dem Drop-down-Menü Zu erlaubender Dienst wählen Sie Secure Shell Server und klicken dann auf Hinzufügen. Über Weiter beenden Sie die Transaktion.

Um eine einfache SSH-Verbindung aufzubauen, benötigen Sie zunächst die IP-Adresse des Rechners, auf dem der SSH-Server läuft. Handelt es sich um OpenSuse 11.0/11.1 und Kubuntu 8.10, die den KDE-Desktop nutzen, rufen Sie über [Alt]+[F2] und die Eingabe von konsole ein Terminalfenster auf. Dann geben Sie /sbin/ifconfig ein und betrachten die Ausgabe des Befehls (Listing 1). Die Schnittstellen von Netzwerk- und WLAN-Karten tragen unter Linux häufig Bezeichnungen wie eth0, eth1, wlan0 oder auch rausb0. In der zweiten Zeile unter dem Namen der Netzwerkschnittstelle folgt hinter inet Adresse die IP-Adresse des Servers, im Beispiel 192.168.1.17.

Listing 1

Ifconfig-Aufruf

$ /sbin/ifconfig
[…]
eth0    Link encap:Ethernet Hardware Adresse […]
        inet Adresse:192.168.1.17 Bcast:192.168.1.255 […]
[…]

Nun rufen Sie auf dem Client ebenfalls eine Konsole auf und melden sich beim Server an. Dazu geben Sie, wie Listing 2 zeigt, zunächst ssh benutzername@Server-IP ein. Dabei handelt es sich um eine Kombination aus dem Benutzernamen und der Server-IP-Adresse. Letztere haben Sie eben ermittelt (192.168.1.17). Der Benutzer mit dem Namen benutzername muss auf dem Rechner, auf dem der SSH-Server läuft, existieren, und Sie müssen sein Passwort kennen.

Zunächst prüft der SSH-Client, ob er den entfernten Rechner bereits kennt. Ist das nicht der Fall, fragt er Sie, ob Sie dem entfernten Rechner mit dem hier genannten Schlüssel (es folgt eine lange Zahlenkombination) vertrauen. Geben Sie yes ein, fordert SSH das Passwort des Benutzers an. Nach dessen Eingabe landen Sie auf dem Terminal des fremden Rechners im Home-Verzeichnis von benutzername. Genau genommen überträgt SSH die Ausgaben der entfernten Konsole auf Ihren Rechner und schickt Ihre Tastatureingaben an den entfernten Server zurück. Geben Sie also ls ein, sendet SSH den Befehl an den Server, und der schickt dann die Terminalausgabe des Befehls an Ihren Client zurück. Das wirkt so, als würden Sie direkt vor dem entfernten Server sitzen. Über exit beenden Sie eine solche Sitzung wieder.

Listing 2

SSH-Aufruf

ssh kkissling@192.168.1.17
The authenticity of host '192.168.1.17 (192.168.1.17)' can't be established.
RSA key fingerprint is 61:18:8d:0e:0f:3d:5d:f6:b7:5c:e1:34:3d:44:9a:01.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.17' (RSA) to the list of known hosts.
kkissling@192.168.1.17's password:
Last login: Thu Feb 12 19:09:47 2009
kkissling@kkissling-desktop:~$

Die Frage nach dem Schlüssel erfolgt beim nächsten Anmelden nicht mehr, weil SSH sich diesen in der Datei .ssh/known_hosts in Ihrem Home-Verzeichnis merkt. Ändert sich aus irgendwelchen Gründen einmal der Schlüssel des SSH-Servers, schlägt die Anmeldung fehl, weil der Client nur den alten Schlüssel kennt und einen Einbruch auf dem Server vermutet. Können Sie diesen sicher ausschließen, löschen Sie einfach die in der SSH-Fehlermeldung genannte Zeile aus der Datei known_hosts und bestätigen beim Anmelden den neuen RSA-Fingerabdruck.

Selbst grafische Anwendungen können Sie per SSH vom entfernten auf den lokalen Rechner holen, etwa den E-Mail-Client. Das ganze nennt sich X-Forwarding, und statt der reinen Mausklicks überträgt SSH dabei auch die Befehle des X-Servers, der die grafische Oberfläche zeichnet. Sie melden sich in diesem Fall über ssh -X benutzername@192.168.1.17 an und landen zunächst wieder im Terminalfenster. Über den Aufruf des Programmnamens können Sie dann grafische Anwendungen starten, etwa Firefox oder Gimp.

X-Forwarding braucht allerdings mehr Bandbreite, und die Grafik wirkt deshalb mitunter sehr träge. Während Sie im lokalen Netz noch einigermaßen flüssig arbeiten können, warten Sie bei einer Verbindung über das Internet (siehe Kasten SSH via Internet) immer erst ein Weilchen, bevor sich die grafischen Elemente aufbauen – es ist ein wenig wie Browsen mit einem 56K-Modem.

SSH via Internet

Das Stichwort ist bereits gefallen: Sie können SSH auch über das Internet verwenden. Voraussetzung dafür ist, dass der entfernte SSH-Server direkt über das Internet erreichbar ist. In diesem Fall melden Sie sich ebenso an, wie im lokalen Netzwerk, also etwa ssh benutzername@Server-IP.

Rechner mit einer öffentlichen IP-Adresse verfügen für gewöhnlich über einen vollständigen Domainnamen, damit Anwender sich nicht die IP-Adresse merken müssen. An Stelle von http://Server-IP tippen Sie zum Beispiel http://www.easylinux.de in die Adresszeile eines Browsers. Entsprechend geben Sie in diesem Fall: ssh kkissling@easylinux.de ein, um sich auf dem Webserver anzumelden. Bedenken Sie aber: Hängt der Rechner mit dem SSH-Server ungeschützt am Internet, kann sich auch jeder andere Anwender auf ihm anmelden, wenn er die Anmeldedaten oder eine Sicherheitslücke im SSH-Server kennt.

Der SSH-Zugriff über das Internet kommt etwa dann zum Einsatz, wenn Sie bei einem Provider einen eigenen (Root-)Server mieten, um darauf eine gut besuchte Webseite oder einen Spiele-Server zu betreiben. In diesem Fall bietet SSH auch die Möglichkeit, einen eigenen Schlüssel anzulegen, den alle Clients benötigen, um erfolgreich auf den Server zuzugreifen.

Grafisches SSH

Zum Kopieren von Dateien über SSH auf der Konsole bietet sich der Befehl scp an. Den lassen wir links liegen, weil es viel einfacher ist, Dateien von entfernten Rechnern per Drag & Drop mit Hilfe des Dateimanagers zu kopieren.

Um unter KDE einen Rechner mit der IP-Adresse Server-IP zu erreichen, geben Sie folgendes in die Adresszeile des Konqueror ein:

fish://benutzername@Server-IP/home/benutzername

Bei fish:// handelt es sich um einen so genannten KIO-Slave, über den Konqueror die Funktionalität von SSH nutzen kann. Sämtliche KIO-Slaves für Konqueror listet übrigens ein Wikipedia-Eintrag [1] auf. Nach der Server-IP-Adresse folgt gleich das Verzeichnis, in dem Sie nach Eingabe der Adresse landen wollen – in diesem Fall das Home-Verzeichnis des Benutzers (Abbildung 1).

Abbildung 1: Über den KIO-Slave Fish arbeiten Sie mit entfernten Verzeichnissen fast so, als befänden die sich auf Ihrem Rechner.

Dort kopieren Sie nun zum Beispiel über Bearbeiten / Kopieren einen Ordner, kehren in Ihren Persönlichen Ordner zurück und fügen ihn über Bearbeiten / Einfügen wieder ein. Wenn die Software es beherrscht, können Sie sogar Dokumente und Bilder öffnen und speichern. Über den Konqueror verschieben Sie also per SSH Dateien, als wäre das entfernte ein lokales Verzeichnis.

Auch Gnomes Dateimanager Nautilus beherrscht diese Funktionalität. Hier geben Sie in die Adresszeile:

sftp://benutzername@Server-IP/home/benutzername

ein, verwenden also statt fish:// das Kürzel sftp://, ansonsten bleibt alles gleich. Nautilus benutzt allerdings das SFTP-Protokoll (Secure FTP) für den Verbindungsaufbau – nicht alle SSH-Server unterstützen diese Möglichkeit, oder Sie müssen sie eventuell nachträglich aktivieren. Die SSH-Server-Konfigurationsdatei /etc/ssh/sshd_config muss dazu eine Zeile der Form

Subsystem sftp /usr/lib/openssh/sftp-server

enthalten, und diese darf nicht durch ein vorangestelltes Rautezeichen (#) auskommentiert sein.

Sowohl im Konqueror als auch in Nautilus können Sie Lesezeichen für die entfernten SSH-Adressen anlegen und landen später per Mausklick und nach der Passworteingabe immer im richtigen Verzeichnis.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • X-Server und Shell-Tools für Windows
    Egal, ob Sie den Umstieg von Windows auf Linux erst planen, während der Umstiegsphase noch in beiden Welten zu Hause sind oder ohnehin abwechselnd unter Linux und Windows arbeiten, leistet ein X-Server für Windows gute Dienste – wie z. B. MobaXterm.
  • IP-Adressen von Angreifern bockieren
    Wenn Sie auf dem Linux-PC einen Port für den Zugriff von außen freigeben, müssen Sie mit automatisierten Einbruchsversuchen rechnen. Fail2ban sperrt die IP-Adressen der Angreifer. Wir zeigen die Einrichtung für SSH-Logins und Dateitransfers mit der SSH-basierten FTP-Alternative SFTP.
  • Ferngesteuert
    Für die schnelle Hilfe am Linux-PC brauchen Sie nicht unbedingt vor Ort zu sein. Wir zeigen, wie Sie den Rechner von Freunden und Bekannten über das Internet administrieren.
  • Internet-Router mit Firewall einrichten
    Auf der Heft-CD dieser Ausgabe finden Sie SmoothWall, eine auf einem minimalen Linux-System basierende Firewall. Wenn Sie noch einen alten und ungenutzten Rechner sowie je eine ISDN- und Netzwerkkarte übrig haben, können Sie aus diesen Komponenten mit SmoothWall einen ISDN-Internet-Router mit Firewall-Funktion machen.
  • Daten sicher teilen
    Beim Datenzugriff auf entfernte Rechner kombinieren SSH-basierte Dateisysteme einfache Konfiguration und sichere Verschlüsselung.
Kommentare

Infos zur Publikation

title_2014_04

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet EUR 9,80. Weitere Informationen zum Heft finden Sie auf der EasyLinux-Homepage.

Das EasyLinux-Jahresabo mit Prämie kostet ab EUR 33,30. Details zum EasyLinux-Jahresabo finden Sie im Medialinx-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.