Netzwerke unter Linux |
|||
* Einführung * Installation * Paketmanager * Grundlagen * Shells * Entwicklung * KDE * Skriptsprachen * AWK * PHP * Perl * Apache * Veranstaltungen * Schulungen * Bücher * Netzwerk * OpenOffice * OpenSource * Samba | |||
Netzwerk![]() Home SSH Grundlagen SSH ohne Passwort nutzen ARP ifconfig Netzmasken Routing Mit freundlicher Unterstützung von: Linux-Kurse und Seminare ![]() Veranstalter des Linux-Tag am Bodensee 2007 und 2008 Kontakt Haftung Impressum Problem Hilfe Startseite |
SSH GrundlagenSSH steht für Secure Shell. Es bezeichnet sowohl ein Programm als auch ein Netzwerkprotokoll. SSH oder OpenSSH ermöglicht eine sichere, verschlüsselte und authentifizierte Netzwerkverbindung zweier Computer. Mit Hilfe von SSH kann man sich auf einem entfernten Rechner einloggen und dort Programme ausführen. SSH gilt auch im Internet als abhörsicher. Die mittlerweile veralteten Vorgänger rlogin, telnet und rsh, die durch ssh ersetzt wurden, gelten als unsicher, da sie die Benutzernamen und die Passwörter während der Authentifizierung unverschlüsselt übertragen.SSH benutzt starke kryptographische Algorithmen, d.h. Public-Key Verschlüsselung, um die Sicherheit zu gewährleisten. Bei dem asymetrischen Verschlüsselungsverfahren (wie bei der Public-Kex Verschlüsselung) kommt anders als bei der symetrischen Verschlüsselung zunächst der Empfänger, der 2 verschiedene Schlüssel generiert. Den privaten Schlüssel (private key) behält er selbst, um später zu dekodieren. Den Schlüssel mit dem man kodieren kann, den Public Key, verschickt der Emfänger an den Sender. In funktionaler Sicht sieht es so aus, dass man 4 Funktionen hat: pub_key1 (von Host 1), priv_key1 (von Host1) und entsprechend die Schlüssel von Host2. Eine Nachricht N wird auf Host1 mit pub_key2(N) verschlüsselt. Diese verschlüsselte Nachricht kann nur mit der Funktion private_key2 entschlüsselt werden, die aber nur der Host2 hat. Also private_key2(pub_key2(N)) = N. Zurück, also eine Nachricht N' von Host2 nach Host2, geht es analog, also Host2 verschlüsselt N' mit pub_key1(N'). Entschlüsselt wird sie auf Host1 mit private_key1(pub_key1(N'). ![]() Verwendung von SSHSSH ist nicht nur unter Linux sondern auch in anderen Betriebssystemen, wie z.B. Windows, implementiert.Prinzipiell dient SSH heute drei Zielen:
SCPSecure Copy oder SCP ist ein Möglichkeit Dateien von einem lokalen zu einem entfernten Computer zu übertragen. Während der Übertragung wird die Secure Shell (SSH) benutzt. SCP bezeichnet sowohl ein Programm als auch ein Protokoll. Das scp-Programm ist eine Implementierung des scp-Protokolls.Die Syntax von scp ähnelt der von cp: Übertragung vom lokalen (local host) auf den entfernten Rechner (remote host): scp SourceFile user@host:DirectoryPath/TargetFile oder Übertragung vom entfernten Rechner auf den lokalen Rechner: scp user@host:DirectoryPath/SourceFile TargetFile Statt einer Datei können auch ganze Verzeichnisse mir der Option "-r" auf diese Art übertragen werden. rsyncrsync steht ebenso wie scp für ein Protokoll und gleichzeitig für ein Programm, was dieses Protokoll implementiert.rsync ist ein vorzügliches Tool, um Datenstände auf verschiedenen Rechnern auf demselben Stand zu halten. Das kann zum Beispiel die Situation sein, wenn nach erfolgter Änderung von einzelnen Dateien des lokalen Rechners ein Abgleich mit dem Datenstand eines entfernten Servers erfolgen soll. Ein andere Anwendung kann aber auch sein, wenn jemand mit einem Desktop und einem Laptop arbeitet. Dann kann man z.B. vor einer Reise die Daten von Desktop zum Laptop synchronisieren rsync -ruv -e ssh /home/data/ user@laptop:/data und anschließend wieder von Laptop zum Desktop rsync -ruv -e ssh user@laptop:/data/ /home/data Obige Kommandos werden auf dem Desktop abgesetzt. Auf dem Laptop sähe es so aus: rsync -ruv -e ssh user@desktop:/data /data (vor der Abreise) und rsync -ruv -e ssh /data/ user@desktop:/home/data Bitte beachten, dass das Quell-Verzeichnis immer mit abschließendem Schrägstrich "/" geschrieben wird und das Zielverzeichnis immer ohne abschließenden Schrägstrich "/". Im obigen Beispiel werden jeweils alle Dateien auf den Zielrechner kopiert, die nur auf dem Quellrechner existieren oder dort ein neueres Datum haben. Sollte eine Datei bereits auf dem Zielrechner mit neuerem Datum existieren, wird diese nicht kopiert. Dies wird durch die Option "-u" (update) gewährleistet. Die Option "-a" (archive) hat die gleiche Wirkung wie "-rlptgoD", d.h. rekursiv (-r), unter Beibehaltung von symbolischen Links (-l), den Zugriffsrechten (-p), den Zeiten (-t), den Gruppen-Rechten (-g), des Usersnamen (-o) und den Devices (-D). Allerdings bleiben Hardlinks (-H) nicht erhalten. Will man nur feststellen, was sich mit einer Ausführung mit rsync ändern würde, dann kann man die Option "-n" benutzen. Man sieht dann die Ausgabe, wie bei der Ausführung, es werde aber keine Daten geändert. SSHFS unter LinuxUm SSHFS unter Linux einsetzen zu können, benötigt man einen Kernel mit FUSE-Unterstützung (ab 2.6.14), der bei SuSE seit Version 10.1 eingesetzt wird.Allerdings wird sshfs bei SuSE nicht standardmäßig installiert. Nachdem man sshfs installiert hat, kann man denkbar einfach ein entferntes Dateisystem mounten: sshfs benutzer@remote_host:Verzeichnis Mount-Punkt Hat man beispielsweise auf seinem lokalen Rechner ein Verzeichnisse sonne unter dem Rootverzeichnis "/" angelegt und will nun die Rootpartition auf dem Rechner "sonne" mounten, so sieht der Befehl wie folgt aus: sshfs root@sonne:/ /sonne |