Mit wget auf SFTP Server zugreifen

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Hi in die Runde,

habe die DS 729+ mit DSM 7.0.1

Ich möchte gerne zb per wget auf versch. sftp Server zugreifen und eine Datensicherung auf die DS automatisieren.
Habe schon diverse Varianten mit skripten durch probiert. Allerdings passiert da gar nichts...
Somit kann ich nicht mal prüfen ob wget überhaupt auf den FTP drauf kommt.
Im Protkollcenter gibt es ebenso keinen Eintrag.

Die typischen Skript-Anleitungen die man so findet habe ich durch, aber es tut sich gar nichts...
Kann mir da jemand ein paar Tipps an die Hand geben...

Eine funktionale Anwendung scheint es ja nicht für die DS zu geben, oder?


VG
Mirko
 

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Danke, aber der verlinkte Beitrag geht in Richtung SSH. Ich habe aber auf einen Teil der FTPs keinen Root Zugriff.

Daher suche ich eben eine Möglich wie ich (mit, oder einer wget Alternative) auf einen SFTP zuzugreifen und einen dort angegebenen Ordner bzw. Hauptverzeichnis downzuloaden. Ggfs später auch zippen.... aber das wäre nur optional.

Ich veruchte per Skrip mit den typischen Daten zuzugreifen.

wget --mirror --continue --timestamping --no-verbose --limit-rate=2M --ftps-implicit --user=xyz --password=xyz sftp://xyz --directory-prefix=/volume1/Backup

Aber es passiert bei Ausführung einfach gar nichts...
Keine Fehlermeldung, oder sonst irgendwas.

Die Zugangsdaten jedoch sind korrekt, da sie in Filezilla funktionieren.
 
Zuletzt bearbeitet:

synfor

Benutzer
Sehr erfahren
Mitglied seit
22. Dez 2017
Beiträge
9.005
Punkte für Reaktionen
1.609
Punkte
308
FTPS != SFTP

Kann wget überhaupt SFTP bzw. ist wget überhaupt mit der Unterstützung von SFTP kompiliert worden?
 

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Es muss ja nicht wget sein. Bin ich nur über die Recherche drauf gekommen, da es in Skriptvorlagen verwendet wird.
Ich bin für jegliche Art Lösungsansatz dankbar...
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Probier es doch einmal mit diesem Befehl:
Code:
sftp -P <PORT> <USER>@<SERVER>:<DIRECTORY_PATH_ON_SERVER>/* <<< $'get <DESTINATION_PATH_ON_HOST>'
 

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
tja... genau wie bei meinen vorherigen Skriptversuchen.... es passiert nach Ausführen gar nichts.
Keine Fehlemeldung, keine Email, nichts.....

Das Problem ist dabei, ich bekomme nicht raus, wo es da klemmt....
 
Zuletzt bearbeitet von einem Moderator:

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Keine Änderung...
Es kommt beim Ausführen nur die Frage ob ich das wirklich möchte. Nach JA... passiert nichts weiter, bzw der Zielordner bleibt leer.

Gibt es irgendeine Möglichkeit in dem Skript eine Meldung einzubauen, die auf popt... um überhaubt zu wissen das hier was abgearbeitet wird?


UPDATE

ah, jetzt bekomme ich eine systemmail:

Aktueller Status: 255 (Unterbrochen)
Standardausgabe/Fehler:
Bad port "-v"

als Port habe ich 22 angegeben...:unsure:
 
Zuletzt bearbeitet von einem Moderator:

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Und dein sftp ist auch tatsächlich auf Port 22 konfiguriert?
 

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
ja, so erreiche ich ihn mit filezilla mit den identischen Zugangsdaten und auf port 22


ach ja...
Habe den gleichen Effekt bei einem anderen sftp.
Auch dort kein Problem via Filezilla, aber eben mit dem Skript auf der Synology
Von daher gehe ich von einem Problem auf dem NAS aus.
 
Zuletzt bearbeitet von einem Moderator:

Rotbart

Benutzer
Sehr erfahren
Mitglied seit
04. Jul 2021
Beiträge
1.685
Punkte für Reaktionen
611
Punkte
134
du musst wahrscheinlich sftp -v -p .... angeben , nicht sftp -p -v ...
 

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Danke.... das hatte auf jeden Fall Auswirkungen.
Die Fehlermeldungen werden mehr...

Habe es direkt auf beiden FTPs versucht. Fehlermeldungen identisch.


Aufgabe: Test sftp
Start: Thu, 22 Dec 2022 22:06:43 GMT
Ende: Thu, 22 Dec 2022 22:06:44 GMT
Aktueller Status: 255 (Unterbrochen)
Standardausgabe/Fehler:
OpenSSH_8.2p1, OpenSSL 1.1.1l 24 Aug 2021
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to 0.0.0.22 [0.0.0.22] port 22.
debug1: connect to address 0.0.0.22 port 22: Invalid argument
ssh: connect to host 0.0.0.22 port 22: Invalid argument

Connection closed.
 
Zuletzt bearbeitet von einem Moderator:

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Probier es doch einmal mit diesem Befehl:
Code:
sftp -P <PORT> <USER>@<SERVER>:<DIRECTORY_PATH_ON_SERVER>/* <<< $'get <DESTINATION_PATH_ON_HOST>'
Ich glabue ich muss mich hier zunächst einmal korrigieren mit dem Befehl.

Es sollte so lauten:
Code:
sftp -r -P <PORT> <USER>@<SERVER>:<DIRECTORY_PATH_ON_SERVER>/* <DESTINATION_PATH_ON_HOST>

ssh: connect to host 0.0.0.22 port 22: Invalid argument
Weshalb steht hier "invalid argument"?

Kannst du bitte einmal deinen Befehl zeigen?
 

Rotbart

Benutzer
Sehr erfahren
Mitglied seit
04. Jul 2021
Beiträge
1.685
Punkte für Reaktionen
611
Punkte
134
"sftp -oPort=22 user@host" funktioniert bei mir
 

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Ich glabue ich muss mich hier zunächst einmal korrigieren mit dem Befehl.

Es sollte so lauten:
Code:
sftp -r -P <PORT> <USER>@<SERVER>:<DIRECTORY_PATH_ON_SERVER>/* <DESTINATION_PATH_ON_HOST>


Kannst du bitte einmal deinen Befehl zeigen?

Ich habe jetzt erstmal deinen neuen Code genommen....

Das Ergebnis:

Aufgabe: Test sftp
Start: Thu, 22 Dec 2022 22:27:24 GMT
Ende: Thu, 22 Dec 2022 22:27:24 GMT
Aktueller Status: 255 (Unterbrochen)
Standardausgabe/Fehler:
Host key verification failed.
Connection closed


EDIT

Habe jetzt noch -v angegeben...
Die Meldung:


Aufgabe: Test sftp
Start: Thu, 22 Dec 2022 22:33:32 GMT
Ende: Thu, 22 Dec 2022 22:33:32 GMT
Aktueller Status: 255 (Unterbrochen)
Standardausgabe/Fehler:
OpenSSH_8.2p1, OpenSSL 1.1.1l 24 Aug 2021
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to access-5000012535.ud-webspace.de
[217.160.123.197] port 22.
debug1: Connection established.
debug1: identity file /var/services/homes/cixz/.ssh/id_rsa type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_rsa-cert type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_dsa type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_dsa-cert type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_ecdsa type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_ecdsa-cert type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_ecdsa_sk type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_ed25519 type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_ed25519-cert type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_ed25519_sk type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_xmss type -1
debug1: identity file /var/services/homes/cixz/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.9p1
debug1: match: OpenSSH_7.9p1 pat OpenSSH* compat 0x04000000
debug1: Authenticating to access-5000012535.ud-webspace.de:22 as 'a4121'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC:
<implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC:
<implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256
SHA256:J4oM+B2g7zZWAdffadfasdfR1e4vdIMrGO301kEN14/slsQ
debug1: read_passphrase: can't open /dev/tty: No such device or address
Host key verification failed.
Connection closed




Den Code selbst kann ich ja schlecht posten ;o)
 
Zuletzt bearbeitet:

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Host key verification failed.
Das liegt daran, dass in der ~/.ssh/known_hosts wohl ein verification key liegt der nicht passt.

Es gibt zwei Möglichkeiten den alten Key aus der Datei zu entfernen. Einmal die Datei manuell zu bearbeiten und den entsprechenden Eintrag (eine Zeile) löschen oder eben mit dem Befehl ssh-keygen -R [hostname|IP address].

Details findest du z. B. hier: Host key verification failed sftp – How to resolve?
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Den Code selbst kann ich ja schlecht posten ;o)
Weshalb denn nicht? Mich interessiert ja auch nicht der private Teil, den kannst ja wie ich einfach in spitze Klammern mit einem Platzhalter erwähnen.
Für uns wäre sicher nur wichtig wie der Befehl im allgemeinen aussieht und wie die Parameter gesetzt sind.

Denn zuerst hattest du den Fehler „invalid argument“ und deshalb wollte ich den Befehl sehen was da falsch ist.
Nachdem du den anderen korrigierten Befehl von mir probiert hast bekamst du eben den Fehler „Host key validation failed“.

Aber mit dem debug den du bekommen hast ist der Fehler ja schon gefunden.
 
Zuletzt bearbeitet:

cixz

Benutzer
Mitglied seit
07. Jun 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
hmm... in den letzten Script Beispielen fehlt der Platzhalter für das PW....
Wo muss das denn nun hin?
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Ich bin mir ehrlich gesagt nicht sicher, ob man bei sftp ein Passwort als Option mitgeben kann. Ich erinnere mich, dass dies nicht direkt funktioniert.

Es gibt z. B. den Weg in Kombination mit einem RSA Schlüssel oder sshpass (welches aber nicht auf der Synology DSM vorhanden ist). Oder man verwendet anstelle von sftp als Alternative lftp.

Lies mal hier z. B. How to run the sftp command with a password from Bash script?
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat