SFTP SCP: Unterschied zwischen den Versionen
imported>Tha |
imported>Franc K →Grundsätzliches: Satzbau |
||
(10 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<font color=red>Ab Firmware DSM 3.1 hat man auch die Möglichkeit, den internen SFTP-Server über die Änderung einer Konfigurationsdatei zu aktivieren:</font color> [[Nicht unterstützte Konfigurationsänderungen]] | |||
==Einleitung== | ==Einleitung== | ||
Wer sich über die Fehlermeldungen und der fehlenden Möglichkeit zum Bearbeiten von Dateien per SFTP oder SCP mit WinSCP ärgert, der sollte diese Anleitung lesen. | Wer sich über die Fehlermeldungen und der fehlenden Möglichkeit zum Bearbeiten von Dateien per SFTP oder SCP mit WinSCP ärgert, der sollte diese Anleitung lesen. | ||
In der DSM 4.1 sollte mit WinSCP der Zugriff per SCP (im Gegensatz zu SFTP) allerdings ohne Eingriffe schon funktionieren. | |||
===Grundsätzliches=== | ===Grundsätzliches=== | ||
SFTP | SFTP ist FTP durch einen SSH Tunnel. Deswegen muss auch der SSH Zugriff aktiviert sein und das Login in der '''passwd''' erlaubt sein (Standard nur für root und admin, die passwd wird bei jeder Änderung bei den Benutzerrechten von der Weboberfläche überschrieben) | ||
;'''Hohes Sicherheitsrisiko''' | ;'''Hohes Sicherheitsrisiko''' | ||
:Da sich jeder freigeschaltete Benutzer auch über SSH einloggen kann, hat er Zugriff auf alle | :Da sich jeder freigeschaltete Benutzer auch über SSH einloggen kann, hat er Zugriff auf alle Betriebssystem Verzeichnisse und viele Dateien. Die Zugriffsrechte werden direkt in Linux gesetzt und nicht über die Weboberfläche. | ||
==Voraussetzungen== | ==Voraussetzungen== | ||
Zeile 35: | Zeile 39: | ||
<pre>openssl version</pre>anzeigen lassen. | <pre>openssl version</pre>anzeigen lassen. | ||
openssl 0.9.8g = von Synology ab DSM 2.0-0722 mitgelieferte Version | openssl 0.9.8g (oder höher) = von Synology ab DSM 2.0-0722 mitgelieferte Version | ||
openssl 0.9.7m = per IPKG installierte Version | openssl 0.9.7m = per IPKG installierte Version | ||
Zeile 60: | Zeile 64: | ||
<pre>cd ~ | <pre>cd ~ | ||
wget http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/openssh_5.5p1-1_powerpc.ipk</pre> | wget http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/openssh_5.5p1-1_powerpc.ipk</pre> | ||
oder so | |||
<pre> | |||
cd /tmp | |||
ipkg download openssh | |||
</pre> | |||
Von diesem benötigen wir nur das Archiv '''data.tar.gz''', also wieder mit | Von diesem benötigen wir nur das Archiv '''data.tar.gz''', also wieder mit | ||
<pre>tar -xvzf openssh_5.5p1-1_arm.ipk ./data.tar.gz</pre> oder für den ppc_85xx mit | <pre>tar -xvzf openssh_5.5p1-1_arm.ipk ./data.tar.gz</pre> oder für den ppc_85xx mit | ||
Zeile 77: | Zeile 86: | ||
<pre>cd /usr/lib | <pre>cd /usr/lib | ||
ln -s libcrypto.so.0.9.8 libcrypto.so.0.9.7</pre> | ln -s libcrypto.so.0.9.8 libcrypto.so.0.9.7</pre> | ||
===Bei vorhandenem openssl 1.0.0 (oder höher) von Synology=== | |||
Hier hat sich der SymLink ein wenig verändert. Dazu muss der Verweis wie folgt lauten: | |||
<pre>cd /usr/lib | |||
ln -s libcrypto.so.1.0.0 libcrypto.so.0.9.8</pre> | |||
===Befehl 'groups' nachinstallieren=== | ===Befehl 'groups' nachinstallieren=== | ||
Zeile 96: | Zeile 110: | ||
Anschließend mit | Anschließend mit | ||
<pre>chmod 0755 /opt/bin/groups</pre>ausführbar machen. | <pre>chmod 0755 /opt/bin/groups</pre>ausführbar machen. | ||
===Symlinks to /bin anlegen=== | |||
Bei einigen Versionen ist es notwendig Symlinks von /bin/scp auf /opt/bin/scp, von /bin/sftp auf /opt/bin/sftp und von /bin/groups auf /opt/bin/groups anzulegen. Beim Zugriff von Aussen werden diese Befehle unter /bin gesucht und werfen eventuell eine Fehlermeldung 127. | |||
cd /bin | |||
ln -s /opt/bin/scp | |||
ln -s /opt/bin/sftp | |||
ln -s /opt/bin/groups | |||
==Test== | ==Test== | ||
Zeile 101: | Zeile 124: | ||
Winscp starten, einloggen...es sollte keine Fehlermeldung bezüglich des fehlendem '''groups''' Kommandos mehr erscheinen. | Winscp starten, einloggen...es sollte keine Fehlermeldung bezüglich des fehlendem '''groups''' Kommandos mehr erscheinen. | ||
Nun noch schnell eine Datei zum Bearbeiten öffnen...die Datei sollte ohne Fehlermeldungen im Editor angezeigt werden. | Nun noch schnell eine Datei zum Bearbeiten öffnen...die Datei sollte ohne Fehlermeldungen im Editor angezeigt werden. | ||
==Eventuell auftretende Probleme== | |||
Falls es immer noch zu der Fehlermeldung kommen sollte, muss man folgendes noch nachinstallieren: | |||
<pre>ipkg install openssh</pre> | |||
==Weblinks== | ==Weblinks== |
Aktuelle Version vom 4. Februar 2013, 09:11 Uhr
Ab Firmware DSM 3.1 hat man auch die Möglichkeit, den internen SFTP-Server über die Änderung einer Konfigurationsdatei zu aktivieren: Nicht unterstützte Konfigurationsänderungen
Einleitung
Wer sich über die Fehlermeldungen und der fehlenden Möglichkeit zum Bearbeiten von Dateien per SFTP oder SCP mit WinSCP ärgert, der sollte diese Anleitung lesen.
In der DSM 4.1 sollte mit WinSCP der Zugriff per SCP (im Gegensatz zu SFTP) allerdings ohne Eingriffe schon funktionieren.
Grundsätzliches
SFTP ist FTP durch einen SSH Tunnel. Deswegen muss auch der SSH Zugriff aktiviert sein und das Login in der passwd erlaubt sein (Standard nur für root und admin, die passwd wird bei jeder Änderung bei den Benutzerrechten von der Weboberfläche überschrieben)
- Hohes Sicherheitsrisiko
- Da sich jeder freigeschaltete Benutzer auch über SSH einloggen kann, hat er Zugriff auf alle Betriebssystem Verzeichnisse und viele Dateien. Die Zugriffsrechte werden direkt in Linux gesetzt und nicht über die Weboberfläche.
Voraussetzungen
Allgemein
- Bootstrap zur Installation mit IPKG wird vorausgesetzt, siehe IPKG
- Zugriff auf Disk Station per Telnet oder SSH
für SFTP und SCP
- openssl 0.9.7m oder openssl 0.9.8g (nicht getestet mit openssl 0.9.7e oder älter)
- zlib
- die ausführbaren Dateien sftp und scp
Openssl 0.9.8g sollte bei jedem, der die zur Zeit aktuelle DSM > 2.0-637 benutzt, schon vorhanden sein.
Installation
Welche openssl Version
Einloggen auf der Disk Station per Telnet oder SSH
Zum Überprüfen, ob und wo openssl installiert ist, einfach mal mit
which openssl
überprüfen. Bekommt ihr einen Pfad genannt, dann ist openssl schon vorhanden.
Nun die aktive Version mit
openssl version
anzeigen lassen.
openssl 0.9.8g (oder höher) = von Synology ab DSM 2.0-0722 mitgelieferte Version
openssl 0.9.7m = per IPKG installierte Version
openssl 0.9.7e = von Synology bis DSM 2.0-0637 mitgelieferte Version
Bei wem durch Abhängigkeiten eines anderen Paketes openssl 0.9.7m mitinstalliert wurde und die DSM 2.0-0722 benutzt, könnte die alte Version mit
ipkg remove openssl
entfernen. Keine Angst, das in der DSM 2.0-0722 mitgelieferte openssl 0.9.8g wird dabei nicht entfernt.
Es könnte aber sein, dass andere Pakete noch Abhängigkeiten zum openssl 0.9.7 haben. Auf diese Situation kann ich hier nicht weiter eingehen, dies muss an anderer Stelle gelöst werden.
Fangen wir nun an; aktualisieren der Paketinfos mit:
ipkg update
Nun wird das Paket zlib_1.2.3-3 mit
ipkg install zlib
installiert.
SFTP und SCP nachinstallieren
Da wir unser vorhandenes SSH nicht mit einem weiterem SSH-Paket (damit ist nicht der SSH-Aktivierungspatch gemeint) durcheinander bringen wollen (wäre auch überflüssig), werden wir uns die benötigten beiden Dateien sftp und scp manuell beschaffen. Dazu holen wir uns mit wget das Paket openssh_5.5p1-1. Je nach Prozessortyp ist der optware-Pfad unterschiedlich (Tabelle der Prozessoren - Spalte Optware-Pfad).
Hier sind exemplarisch mal zwei Pfade aufgeführt:
cd ~ wget http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/openssh_5.5p1-1_arm.ipk
oder aber
cd ~ wget http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/openssh_5.5p1-1_powerpc.ipk
oder so
cd /tmp ipkg download openssh
Von diesem benötigen wir nur das Archiv data.tar.gz, also wieder mit
tar -xvzf openssh_5.5p1-1_arm.ipk ./data.tar.gz
oder für den ppc_85xx mit
tar -xvzf openssh_5.5p1-1_powerpc.ipk ./data.tar.gz
entpacken. Aus dem Archiv data.tar.gz brauchen wir nur die beiden Dateien sftp und scp.
Wir entpacken diese nun mit:
tar -xvzf data.tar.gz ./opt/bin/sftp ./opt/bin/scp
Bei neueren Versionen von openssh hat sich der Dateiname von scp geändert. Sollte also eine Fehlermeldung beim Entpacken autreten ist folgendes zu nutzen:
tar -xvzf data.tar.gz ./opt/bin/sftp ./opt/bin/openssh-scp
Zum Schluss verschieben wir noch die beiden Dateien aus dem temporären opt/bin in das korrekte /opt/bin im System.
mv ./opt/bin/* /opt/bin
Sollte die Datei versionsbedingt openssh-scp heißen musst Du Diese wie folgt umbenennen:
mv /opt/bin/openssh-scp /opt/bin/scp
Die Reste vom Entpacken können nun entfernt werden.
Bei vorhandenem openssl 0.9.8g (oder höher) von Synology
Hier benötigen wir noch einen neuen SymLink, da SFTP und SCP für die Version 0.97 kompiliert wurden und direkt auf libcrypto.so.0.9.7 verweisen.
cd /usr/lib ln -s libcrypto.so.0.9.8 libcrypto.so.0.9.7
Bei vorhandenem openssl 1.0.0 (oder höher) von Synology
Hier hat sich der SymLink ein wenig verändert. Dazu muss der Verweis wie folgt lauten:
cd /usr/lib ln -s libcrypto.so.1.0.0 libcrypto.so.0.9.8
Befehl 'groups' nachinstallieren
Wem die Fehlermeldung am Anfang stört, der kann sich das Paket coreutils_6.12-2 mit
ipkg install coreutils
installieren. In diesem Paket sind noch weitere gute Tools drin, die der Eine oder Andere vielleicht gebrauchen kann.
Alternativer 'groups' Befehl
Wer das Paket coreutils_6.12-2 aus irgendeinem Grund nicht installieren möchte, der kann die folgende Alternative benutzen.
Eine Datei groups (ohne Endung) in /opt/bin/ erstellen
vi /opt/bin/groups
und mit folgendem Inhalt füllen:
#!/bin/sh echo "<gruppenname_des_Users>"
Für <gruppenname_des_Users> bitte die entsprechende Gruppe des gewünschten Users für WinSCP eintragen. Für root wäre das root, alle anderen User users.
Anschließend mit
chmod 0755 /opt/bin/groups
ausführbar machen.
Symlinks to /bin anlegen
Bei einigen Versionen ist es notwendig Symlinks von /bin/scp auf /opt/bin/scp, von /bin/sftp auf /opt/bin/sftp und von /bin/groups auf /opt/bin/groups anzulegen. Beim Zugriff von Aussen werden diese Befehle unter /bin gesucht und werfen eventuell eine Fehlermeldung 127.
cd /bin ln -s /opt/bin/scp ln -s /opt/bin/sftp ln -s /opt/bin/groups
Test
Winscp starten, einloggen...es sollte keine Fehlermeldung bezüglich des fehlendem groups Kommandos mehr erscheinen. Nun noch schnell eine Datei zum Bearbeiten öffnen...die Datei sollte ohne Fehlermeldungen im Editor angezeigt werden.
Eventuell auftretende Probleme
Falls es immer noch zu der Fehlermeldung kommen sollte, muss man folgendes noch nachinstallieren:
ipkg install openssh