Befehlszeile um eine SFTP-Verbindung herzustellen

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
yansop
Junior Member
Junior Member
Posts: 4
Joined: 2020-08-29, 19:16 UTC

Befehlszeile um eine SFTP-Verbindung herzustellen

Post by *yansop »

Hallo,
ich bin seit Stunden auf der Suche nach einer Befehlszeile für eine Batchdatei (cmd) um ein paar Schritte zu automatisieren:

a.) mit TotalCommander eine SFTP-Verbindung mit User und Passwort herstellen, welche bereits auf dem TotalCommander eingerichtet wurde
b.) in ein bestimmtes Verzeichnis wechseln
c.) eine Datei auf ein lokales Verzeichnis auf dem Rechner kopieren (ggf. auch überschreiben)
d.) die Datei auf dem SFTP-Server löschen

Im Voraus vielen Dank für eure Unterstützung!
Gruß Yansop.
User avatar
Dalai
Power Member
Power Member
Posts: 9401
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Befehlszeile um eine SFTP-Verbindung herzustellen

Post by *Dalai »

Obwohl es möglich ist, den TC mit Verzeichnissen als Parameter zu starten (/L bzw. /R) und so auch eine Verbindung zu einem SCP/SFTP-Server herzustellen, gibt es keine Möglichkeit, Dateien zu bearbeiten, also zu löschen oder zu kopieren. Das muss es aber auch nicht, denn es gibt andere, viel besser geeignete Tools für derartige Aufgaben. Wirf einen Blick auf WinSCP, speziell die Kommandozeilenversion davon (winscp.com) oder auch pscp.exe/psftp.exe aus dem PuTTY-Projekt.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
yansop
Junior Member
Junior Member
Posts: 4
Joined: 2020-08-29, 19:16 UTC

Re: Befehlszeile um eine SFTP-Verbindung herzustellen

Post by *yansop »

Vielen Dank Dalai,
psftp von Putty kannte ich noch nicht... wie würde die Befehlszeile dann hier für mein vorhaben ausschauen?
User avatar
Dalai
Power Member
Power Member
Posts: 9401
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Befehlszeile um eine SFTP-Verbindung herzustellen

Post by *Dalai »

Es wird wohl am sinnvollsten sein, wenn du dir die Hilfe zu PuTTY (putty.chm) anschaust. Dort sind auch Beschreibungen der Parameter für pscp und psftp enthalten. Letztlich hängt es sehr von der Umgebung ab und davon, was der Server kann, und wie umfangreich dein Vorhaben ist. Für viele Schritte/Vorgänge zum/auf dem Server bieten sich die Skriptparameter von psftp.exe (-b) und winscp.com (/script) an.

Ich empfehle dir sehr, die Anmeldung über public key statt Passwort zu machen. PuTTY bietet dafür puttygen an, mit dem ein Schlüssel(paar) generiert werden kann, wenn du das nicht auf dem Server machen willst/kannst.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
yansop
Junior Member
Junior Member
Posts: 4
Joined: 2020-08-29, 19:16 UTC

Re: Befehlszeile um eine SFTP-Verbindung herzustellen

Post by *yansop »

Vielen Dank für den Key-Hinweis.
Zum Test habe ich folgende Zeilen zum Kopieren einer Serverdatei auf ein lokales Verzeichnis getestet:
psftp -P 22 [User]@[Server-IP] -pw [Passwort]
get /[Dateipfad]/[Datei] [Speicherpfad]\[Datei]
quit

Als Ausgabe im DOS-Fenster erhalte ich folgende Meldung und erwartet weitere Befehle:
Using username "[User]".
Remote working directory is /[Dateipfad]
psftp>

D.h. das Einloggen funktioniert und wechselt auf den Dateipfad, weiter nichts.
Wenn ich aber dann die zweite Codezeile (get /[Dateipfad]/[Datei] [Speicherpfad]\[Datei]) manuell im Fenster eingebe wird die gewünschte Datei kopiert...
Was muss also noch eingegeben werden, damit Putty alle Codezeilen abarbeitet?

Gruß Yansop.

EDit: mit pscp funktioniert es!
User avatar
Dalai
Power Member
Power Member
Posts: 9401
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Befehlszeile um eine SFTP-Verbindung herzustellen

Post by *Dalai »

Wie ich schon sagte: Schau dir die Skriptparameter an und wie man ein solches Skript für das entsprechende Tool schreibt; in der Regel sind das einfach nur dieselben Befehle, einer pro Skriptzeile.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
yansop
Junior Member
Junior Member
Posts: 4
Joined: 2020-08-29, 19:16 UTC

Re: Befehlszeile um eine SFTP-Verbindung herzustellen

Post by *yansop »

Jetzt würde mir noch noch der letzte Punkt fehlen:
wie lösche ich die Quelldatei auf dem Server?

Kannst du mir diesbezüglich auch einen Hinweis geben?
Gruß Yansop.

Edit: funktioniert auch mit plink!
Danke für deine Unterstützung!
User avatar
Dalai
Power Member
Power Member
Posts: 9401
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Befehlszeile um eine SFTP-Verbindung herzustellen

Post by *Dalai »

Ich kann mich nur noch einmal wiederholen: psftp kann man eine Skriptdatei übergeben, die alle notwendigen Befehle enthält. Diese Skriptdatei kann man auch mit Batch, PowerShell (oder sonstwie) dynamisch zusammenbauen, wenn man will/muss. Mit einem solchen Skript kann man Dateien kopieren, löschen, verschieben usw. Gleiches trifft auch auf die Kommandozeilen-Variante von WinSCP (Datei winscp.com) zu.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Post Reply