SFTP SCP

Aus Synology Wiki
Version vom 9. Oktober 2008, 19:26 Uhr von QTip (Diskussion | Beiträge) (Die Seite wurde neu angelegt: ==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 Anle...)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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.

Diese Anleitung wurde für DiskStation's mit ARM/Marvel Prozessoren geschrieben (z.B. DS107+, DS207+). Zu anderen Przessortypen kann ich keine Aussage machen.

Voraussetzungen

Allgemein

  • Bootstrap zur Installation mit IPKG wird vorausgesetzt, siehe IPKG
  • Zugriff auf DiskStation 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-0722 benutzt, schon vorhanden sein.

Installation

Welche openssl Version

Einloggen auf der DiskStation 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 = von Synology ab DSM 2.0-637 mitgelieferte Version

openssl 0.9.7m = per IPKG installierte Version

openssl 0.9.7e = von Synology bis DSM 2.0-637 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 [B]openssh_5.1p1-1[/B] mit:

cd ~
wget http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/openssh_5.1p1-1_arm.ipk
Von diesem benötigen wir nur das Archiv data.tar.gz, also wieder mit
tar -xvzf openssh_5.1p1-1_arm.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
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
Die Reste vom Entpacken können nun entfernt werden.

Bei vorhandenem openssl 0.9.8g von Synology

Hier benötigen wir noch einen neuen SymLink, da SFTP und SCP für die Version 0.97 compiliert 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

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 user.

Anschließend mit

chmod 0755 /opt/bin/groups
ausführbar machen.

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.

Weblinks