SFTP SCP

Aus

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 Prozessortypen 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 users.

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