SSH, SFTP und FTP: Unterschied zwischen den Versionen
Bernd (Diskussion | Beiträge) |
K typo |
||
Zeile 1: | Zeile 1: | ||
==Warum kein FTP?== | |||
Bei Verbindungen nach dem ''File-Transfer-Protocol'' besteht keine Möglichkeit, die Übertragung zu verschlüsseln. Auch übliche SSL-Tunnel-Lösungen sind aufgrund der Struktur des FTP technisch nicht möglich. Dies gilt sowohl für das Anmelden am FTP-Server (Zugangspasswort) als auch für die übertragenen Daten (evtl. MySQL-Passwörter, etc.). | |||
Bei Verbindungen nach dem ''File-Transfer-Protocol'' besteht keine Möglichkeit, die Übertragung zu | |||
Aufgrund dieser nicht behebbaren Schwachstellen haben wir uns entschlossen, keinen FTP-Zugang einzurichten. Die Alternativen über das SSH-Protokoll bieten die selben Möglichkeiten (und noch zahlreiche mehr), daher sollte dem Benutzer kein Nachteil entstehen. | Aufgrund dieser nicht behebbaren Schwachstellen haben wir uns entschlossen, keinen FTP-Zugang einzurichten. Die Alternativen über das SSH-Protokoll bieten die selben Möglichkeiten (und noch zahlreiche mehr), daher sollte dem Benutzer kein Nachteil entstehen. | ||
Zeile 8: | Zeile 7: | ||
==Was ist ssh / scp?== | ==Was ist ssh / scp?== | ||
SSH bedeutet '''''S'''ecure '''SH'''ell'' und beschreibt eine Methode zum verschlüsselten Zugriff auf entfernte Rechner. Mittels SSH ist die Bedienung eines fremden Rechners so möglich als würde man selbst an diesem sitzen. Dabei ist sowohl die Übertragung als auch die Anmeldung stark verschlüsselt und daher nicht von Dritten mitlesbar. | SSH bedeutet '''''S'''ecure '''SH'''ell'' und beschreibt eine Methode zum verschlüsselten Zugriff auf entfernte Rechner. Mittels SSH ist die Bedienung eines fremden Rechners so möglich als würde man selbst an diesem sitzen. Dabei ist sowohl die Übertragung als auch die Anmeldung stark verschlüsselt und daher nicht von Dritten mitlesbar. Als zusätzlichen Komfort, besteht die Möglichkeit, sich mit [[Key-Login (OpenSSH)|SSH-Key]] anzumelden. | ||
Als zusätzlichen Komfort, besteht die Möglichkeit, sich mit [[Key-Login (OpenSSH)|SSH-Key]] anzumelden. | |||
SCP ist eine Möglichkeit zum Übertragen von Dateien über eine verschlüsselte SSH-Verbindung. | SCP ist eine Möglichkeit zum Übertragen von Dateien über eine verschlüsselte SSH-Verbindung. | ||
SFTP ist eine FTP-Emulation, ebenfalls über SSH. Alle von FTP bekannten Funktionen können ebenfalls | SFTP ist eine FTP-Emulation, ebenfalls über SSH. Alle von FTP bekannten Funktionen können ebenfalls über SFTP benutzt werden. Durch die gleichzeitige Möglichkeit SSH als Konsole aufzurufen, erweitern sich die Möglichkeiten drastisch. | ||
==Clients== | ==Clients== | ||
===Linux=== | ===Linux (teilweise auch Mac OS X)=== | ||
====scp==== | ====scp==== | ||
scp ist das Standard-Programm auf jedem Unix-System mit OpenSSH. | scp ist das Standard-Programm auf jedem Unix-System mit OpenSSH. | ||
scp server:pfad/quelldatei.txt /lokaler/pfad | scp quelldatei.txt server:pfad | ||
scp -r quellordner/ server: | scp server:pfad/quelldatei.txt /lokaler/pfad | ||
scp -r server:/home /tmp | scp -r quellordner/ server: | ||
scp -r server:/home /tmp | |||
====rsync==== | ====rsync==== | ||
Eine der bequemsten Möglichkeiten, die eigene Homepage aktuell zu halten, ist ''rsync''. | Eine der bequemsten Möglichkeiten, die eigene Homepage aktuell zu halten, ist ''[http://samba.org/rsync/ rsync]''. ''rsync'' ist ein Programm zum Synchronisieren von beliebigen Verzeichnissen und es kann genauso lokal oder über eine SSH-Verbindung arbeiten. | ||
''rsync'' ist ein Programm zum | |||
Angenommen, die lokale Kopie der Homepage (die man bearbeitet) liegt unter ''/var/www/blablub.de'' und die öffentliche Version (die synchronisiert werden soll) liegt unter ''schokokeks.org:websites/blablub.de'', dann könnte der rsync-Befehl so aussehen: | Angenommen, die lokale Kopie der Homepage (die man bearbeitet) liegt unter ''/var/www/blablub.de'' und die öffentliche Version (die synchronisiert werden soll) liegt unter ''schokokeks.org:websites/blablub.de'', dann könnte der rsync-Befehl so aussehen: | ||
rsync --quiet --recursive --links --safe-links --perms --rsh="ssh -q" --delete \ | |||
--compress /var/www/blablub.de/ schokokeks.org:websites/blablub.de/ | |||
Damit würde die Seite exakt so gespiegelt wie sie lokal vorliegt. | Damit würde die Seite exakt so gespiegelt wie sie lokal vorliegt. | ||
Wenn man nun online bestimmte Daten hat, die beim update nicht gelöscht oder überschrieben werden sollen, dann kann man diese ''--exclude [pattern]'' explizit | Wenn man nun online bestimmte Daten hat, die beim update nicht gelöscht oder überschrieben werden sollen, dann kann man diese ''--exclude [pattern]'' explizit ausschließen. Die Hilfeseite, die man mit ''man rsync'' lesen kann, gibt noch einige weitere Beispiele und Informationen dazu her. | ||
====Nautilus und Konqueror==== | ====Nautilus und Konqueror==== | ||
Die Dateimanager von [http://www.gnome.org/ GNOME] und [http://www.kde.org/ KDE] | Die Dateimanager von [http://www.gnome.org/ GNOME] und [http://www.kde.org/ KDE] beherrschen ebenso SFTP/SCP. Wenn man '''<nowiki>sftp://schokokeks.org/</nowiki>''' in der Adresszeile eingibt, verbinden sich die Dateimanager auf schokokeks.org. | ||
Nautilus bringt seit der Version 2.6 den ''spacial mode'' mit. Das bedeutet, dass keine Adresszeile vorhanden ist. Entweder man tippt nun jedes mal ''' | Nautilus bringt seit der Version 2.6 den ''spacial mode'' mit. Das bedeutet, dass keine Adresszeile vorhanden ist. Entweder man tippt nun jedes mal '''ctrl + l''' und dann '''<nowiki>sftp://schokokeks.org</nowiki>''' oder man wählt '''Datei ---> Server verbinden''' und enthält hernach ein Icon auf dem Desktop, mit welchem man sich per Doppelklick auf den Keks verbinden kann. | ||
Beim Konqueror besteht ebenfalls die Möglichkeit, per '''<nowiki>fish://schokokeks.org/</nowiki>''' zuzugreifen. Dabei wird dann kein SFTP sondern SSH direkt genutzt. Für unseren Server ist es egal (SFTP ist im Zweifel zu bevorzugen), bei anderen könnte SFTP deaktiviert sein. | Beim Konqueror besteht ebenfalls die Möglichkeit, per '''<nowiki>fish://schokokeks.org/</nowiki>''' zuzugreifen. Dabei wird dann kein SFTP sondern SSH direkt genutzt. Für unseren Server ist es egal (SFTP ist im Zweifel zu bevorzugen), bei anderen könnte SFTP deaktiviert sein. | ||
====Filezilla==== | ====Filezilla==== | ||
Sehr | |||
Im Feld "Host" bitte sftp://schokokeks.org eingeben, da schokokeks.org alleine nicht ausreicht, ansonsten sehr gutes Programm. | Sehr einfaches und übersichtliches (S)FTP Programm. Im Feld "Host" bitte <nowiki>sftp://schokokeks.org</nowiki> eingeben, da schokokeks.org alleine nicht ausreicht, ansonsten ein sehr gutes Programm. | ||
===Windows=== | ===Windows=== | ||
Leider gibt es für die Windows-Welt noch nicht so den Drang nach erhöhter Sicherheit, daher ist die Nachfrage (und damit | Leider gibt es für die Windows-Welt noch nicht so den Drang nach erhöhter Sicherheit, daher ist die Nachfrage (und damit wiederum das Angebot) an SSH-Clients nicht allzu groß. Dennoch gibt es auch hier vernünftige Clients, die eine Benutzung genau so einfach machen wie mit FTP. | ||
====FileZilla==== | ====FileZilla==== | ||
Zeile 67: | Zeile 65: | ||
====Putty==== | ====Putty==== | ||
Der wohl bekannteste SSH-Client für Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty]. | Der wohl bekannteste SSH-Client für Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty]. | ||
Im Unterschied zu den oben genannten ist Putty kein Client um Dateien zu kopieren sondern zum besagten Fernzugriff mit einer Konsole. Der ganze Komfort, den eine Linux-Konsole bietet, ist mit Putty nutzbar, es lassen sich damit aber keine Dateien übertragen. | Im Unterschied zu den oben genannten ist Putty kein Client um Dateien zu kopieren sondern zum besagten Fernzugriff mit einer Konsole. Der ganze Komfort, den eine Linux-Konsole bietet, ist mit Putty nutzbar, es lassen sich damit aber keine Dateien übertragen. | ||
Es gibt auch das Programm PSCP (vom selben Autor) zum Kopieren von Dateien, da es aber ( | Es gibt auch das Programm PSCP (vom selben Autor) zum Kopieren von Dateien, da es aber (siehe oben) bessere Alternativen gibt, sei davon abgeraten. | ||
[[Kategorie:OpenSSH]] |
Version vom 7. September 2008, 23:29 Uhr
Warum kein FTP?
Bei Verbindungen nach dem File-Transfer-Protocol besteht keine Möglichkeit, die Übertragung zu verschlüsseln. Auch übliche SSL-Tunnel-Lösungen sind aufgrund der Struktur des FTP technisch nicht möglich. Dies gilt sowohl für das Anmelden am FTP-Server (Zugangspasswort) als auch für die übertragenen Daten (evtl. MySQL-Passwörter, etc.).
Aufgrund dieser nicht behebbaren Schwachstellen haben wir uns entschlossen, keinen FTP-Zugang einzurichten. Die Alternativen über das SSH-Protokoll bieten die selben Möglichkeiten (und noch zahlreiche mehr), daher sollte dem Benutzer kein Nachteil entstehen.
Was ist ssh / scp?
SSH bedeutet Secure SHell und beschreibt eine Methode zum verschlüsselten Zugriff auf entfernte Rechner. Mittels SSH ist die Bedienung eines fremden Rechners so möglich als würde man selbst an diesem sitzen. Dabei ist sowohl die Übertragung als auch die Anmeldung stark verschlüsselt und daher nicht von Dritten mitlesbar. Als zusätzlichen Komfort, besteht die Möglichkeit, sich mit SSH-Key anzumelden.
SCP ist eine Möglichkeit zum Übertragen von Dateien über eine verschlüsselte SSH-Verbindung.
SFTP ist eine FTP-Emulation, ebenfalls über SSH. Alle von FTP bekannten Funktionen können ebenfalls über SFTP benutzt werden. Durch die gleichzeitige Möglichkeit SSH als Konsole aufzurufen, erweitern sich die Möglichkeiten drastisch.
Clients
Linux (teilweise auch Mac OS X)
scp
scp ist das Standard-Programm auf jedem Unix-System mit OpenSSH.
scp quelldatei.txt server:pfad scp server:pfad/quelldatei.txt /lokaler/pfad scp -r quellordner/ server: scp -r server:/home /tmp
rsync
Eine der bequemsten Möglichkeiten, die eigene Homepage aktuell zu halten, ist rsync. rsync ist ein Programm zum Synchronisieren von beliebigen Verzeichnissen und es kann genauso lokal oder über eine SSH-Verbindung arbeiten.
Angenommen, die lokale Kopie der Homepage (die man bearbeitet) liegt unter /var/www/blablub.de und die öffentliche Version (die synchronisiert werden soll) liegt unter schokokeks.org:websites/blablub.de, dann könnte der rsync-Befehl so aussehen:
rsync --quiet --recursive --links --safe-links --perms --rsh="ssh -q" --delete \ --compress /var/www/blablub.de/ schokokeks.org:websites/blablub.de/
Damit würde die Seite exakt so gespiegelt wie sie lokal vorliegt.
Wenn man nun online bestimmte Daten hat, die beim update nicht gelöscht oder überschrieben werden sollen, dann kann man diese --exclude [pattern] explizit ausschließen. Die Hilfeseite, die man mit man rsync lesen kann, gibt noch einige weitere Beispiele und Informationen dazu her.
Nautilus und Konqueror
Die Dateimanager von GNOME und KDE beherrschen ebenso SFTP/SCP. Wenn man sftp://schokokeks.org/ in der Adresszeile eingibt, verbinden sich die Dateimanager auf schokokeks.org.
Nautilus bringt seit der Version 2.6 den spacial mode mit. Das bedeutet, dass keine Adresszeile vorhanden ist. Entweder man tippt nun jedes mal ctrl + l und dann sftp://schokokeks.org oder man wählt Datei ---> Server verbinden und enthält hernach ein Icon auf dem Desktop, mit welchem man sich per Doppelklick auf den Keks verbinden kann.
Beim Konqueror besteht ebenfalls die Möglichkeit, per fish://schokokeks.org/ zuzugreifen. Dabei wird dann kein SFTP sondern SSH direkt genutzt. Für unseren Server ist es egal (SFTP ist im Zweifel zu bevorzugen), bei anderen könnte SFTP deaktiviert sein.
Filezilla
Sehr einfaches und übersichtliches (S)FTP Programm. Im Feld "Host" bitte sftp://schokokeks.org eingeben, da schokokeks.org alleine nicht ausreicht, ansonsten ein sehr gutes Programm.
Windows
Leider gibt es für die Windows-Welt noch nicht so den Drang nach erhöhter Sicherheit, daher ist die Nachfrage (und damit wiederum das Angebot) an SSH-Clients nicht allzu groß. Dennoch gibt es auch hier vernünftige Clients, die eine Benutzung genau so einfach machen wie mit FTP.
FileZilla
FileZilla ist ein FTP-Client, der auch scp beherrscht. Es steht frei zum Download. Ich habe es nur mit wine testen können, es sieht recht vernünftig aus
WinSCP
WinSCP ist ein SFTP/SCP-only-Client, der Keylogin unterstützt und einen SSH-Agent mitbringt. Wir haben auch eine Anleitung zur Benutzung.
Putty
Der wohl bekannteste SSH-Client für Windows ist Putty.
Im Unterschied zu den oben genannten ist Putty kein Client um Dateien zu kopieren sondern zum besagten Fernzugriff mit einer Konsole. Der ganze Komfort, den eine Linux-Konsole bietet, ist mit Putty nutzbar, es lassen sich damit aber keine Dateien übertragen.
Es gibt auch das Programm PSCP (vom selben Autor) zum Kopieren von Dateien, da es aber (siehe oben) bessere Alternativen gibt, sei davon abgeraten.