SSH/Dateitransfer
topic kurze Beschreibung
Beschreibung
Transfer von der Kommandozeile
scp
Das Kommandozeilenwerkzeug scp funktioniert in etwa so wie das normale Unix-Kommando cp, nur dass es über Systemgrenzen hinweg funktioniert.
- Jedes Datei- oder Verzeichnisargument kann dabei optional, getrennt durch einen Doppelpunkt, durch einen vorangestellten Benutzer- oder Hostnamen ergänzt werden.
- Dabei werden weggelassene Teile durch den aktuellen Benutzernamen, localhost oder das Homeverzeichnis (oder das aktuelle Verzeichnis) ergänzt, etwa so:
scp benutzerx@server1:datei1 datei2 benutzery@server2:
In diesem Beispiel wurde die datei1 aus dem Homeverzeichnis von benutzerx auf server1 und die datei2 aus dem aktuellen Verzeichnis des lokalen Hosts in das Homeverzeichnis von benutzery auf server2 kopiert.
Der Befehl scp versteht auch einige von bekannte Optionen, bspw. -r für das rekursive Kopieren ganzer Verzeichnisbäume.
- Bedauerlicherweise unterstützt scp aber nicht alle cp-Optionen, die für das exakte Klonen von Verzeichnissen, inkl.
- aller Dateirechte und symbolischen Verknüpfungen notwendig sind.
- Für die exakte Replikation sollte deswegen entweder das Werkzeug rsync -e ssh genutzt werden (man beachte die Handbuchseite zu diesem Tool) oder der oben schon genutzte Trick mit tar und einer Pipe.
ssh root@server 'cd verzeichnis; tar czvf - verz./dateien' | tar xzf -
sftp
Die andere Möglichkeit des Dateitransfers lautet sftp.
- Das funktioniert genau so wie der normale Kommandozeilen-FTP-Client:
sftp server
Connecting to server... user@server's password: sftp> pwd Remote working directory: /export/home/user sftp> dir [...] wichtige_datei.txt [...] sftp> get wichtige_datei.txt Fetching /export/home/user/wichtige_datei.txt to wichtige_datei.txt /export/home/user/wichtige_datei.txt 100% 62KB 62.2KB/s 00:00 sftp> quit
Mit dem Befehl help bekommt man eine Übersicht über die möglichen Kommandos.
Entfernte Dateisysteme einbinden
Man kann das Dateisystem eines entfernten Rechners in sein eigenes Dateisystem mittels einbinden.
- Damit ist eine transparente Nutzung von Dateien auch über unsichere Netze hinweg möglich.
Grafische Programme zum Dateitransfer
Gnome
Der Gnome-Dateimanager unterstützt das SSH-Protokoll von Haus aus.
- Dazu benutzt man eine Adresse der Form ssh://rechnername/pfad, um über SSH die Dateien auf dem angegebenen Rechner zu sehen.
- Wenn man sich als ein anderer Benutzer anmelden möchte, verwendet man stattdessen eine Adresse der Form ssh://andererbenutzer@rechnername/pfad.
- Alternativ können auch die Hosts aus der ~/.ssh/config verwendet werden.
- Dort lassen sich auch noch andere SSH-Einstellung, wie.
- z.B SSH-Keys, definieren.
- Der Zugriff erfolgt mit ssh://hostname.
- Diese Adressen funktionieren übrigens auch in einigen anderen Gnome-Anwendungen.
KDE
Auch bei KDE ist SSH-Unterstützung eingebaut: Mit einer Adresse der Form fish://rechnername/pfad kann man auf die Dateien auf einem anderen Rechner zugreifen, und mit fish://andererbenutzer@rechnername/pfad meldet man sich als anderer Benutzer auf dem Zielrechner an.
- Dies funktioniert im sowie in allen KDE-Anwendungen.
Man kann also beispielsweise im Malprogramm via Datei -> Öffnen.. und dann oben in der Adresszeile eine fish://-Adresse eingeben, um direkt ein Bild auf einem anderen Rechner anzusehen oder zu bearbeiten.
- Im Dateimanager (Kubuntu-Standard) können über das Bookmark "Netzwerk" und den Assistenten "Netzwerkordner hinzufügen" neue ssh-basierte Netzwerkordner als feste Bookmarks erstellt werden.
Wenn der Zielrechner ebenfalls ein UTF-8 codiertes Dateisystem hat, sind gegebenenfalls die Umlaute falsch angezeigt.
- Um dies zu ändern, muss man im Konqueror eine fish-Adresse aufrufen und kann nun unter "Extras -> Entfernte Zeichencodierung wählen..." die entsprechende Codierung einstellen.
- Diese Einstellung ist fortan auch in Dolphin gültig.
- Diese Option einzustellen wird in KDE4 vermutlich in Dolphin selbst möglich sein.
Xfce
Der Xfce-Dateimanager unterstützt das SSH-Protokoll wie Nautilus unter GNOME.
- Siehe .
Weitere grafische Programme
Die meisten grafischen FTP-Clients () unterstützen auch sftp oder scp über das SSH-Protokoll.
- Beim Gnome FTP-Cient etwa muss man unter "FTP -> Optionen -> Netz -> Voreingestelltes Protokoll" in der Drop-Down-Liste SSH2 an Stelle von FTP auswählen.
- Leider hat gftp Probleme, wenn man neben Passwörtern auch Public-Keys (siehe ) benutzt.
- Das funktioniert nur mit dem SSH-Agenten (ebenfalls weiter unten beschrieben) und der Einstellung "Benötige SSH Benutzername/Passwort nicht" in "FTP -> Optionen -> SSH".
SSH-Verbindungen zu Datenverzeichnissen auf Fremdrechnern unterstützen auch Datensynchronisationsprogramme wie und Backupprogramme wie Keep.
Links
- The Secure Shell (SSH) Protocol Architecture http://www.ietf.org/rfc/rfc4251.txt
- Video vom Vortrag Ubuntu im sicheren Netz - Ubucon 2011 http://www.youtube.com/watch?v=Hxsl-jj2Bq0
- Putting the Secure in SSH - Tipps und Tricks für sicheres SSH.
- Blogbeitrag, 11/2014http://thepcspy.com/read/making-ssh-secure/
- Mosh - auf SSH aufsetzende Lösung für den Fernzugriff auf andere Rechnerhttps://wiki.ubuntuusers.de/Mosh/
- autossh - Monitor für SSH-Verbindungen mit Reconnect-Möglichkeit (in den Paketquellen enthalten)http://www.harding.motd.ca/autossh/
- Portweiterleitung - DSL-Router für SSH freischaltenhttps://wiki.ubuntuusers.de/Portweiterleitung/
- SSH Reverse Tunnel oder wie mache ich ein Loch in die Firewall - Reverse SSH (keine Portweiterleitung nötig) http://www.codejungle.org/site/SSH+Reverse+Tunnel+oder+wie+mache+ich+ein+Loch+in+die+Firewall.html
Installation
Syntax
Parameter
Optionen
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Anwendungen
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5