Wie übertrage ich eine Datei mit PuTTY auf meinen Server?

16

Wenn ich SCP in PuTTY auf meiner Win7-Box aufrufe, kann ich C: / nicht verwenden, aber ich habe auch keine Ahnung, wo auf meinem lokalen Computer standardmäßig nach Dateien gesucht wird. Kein Programmverzeichnis oder Benutzerverzeichnis hat funktioniert. Zum Beispiel habe ich file.txt neben PuTTY.exe und auch in C: \ Users \ Me gespeichert, aber das Aufrufen von SCP file.txt file.txt in PuTTY schlug beide Male mit fehl

cp: kann 'file.txt' nicht angeben

Wie übertrage ich eine Datei mit PuTTY auf meinen Server?

EDIT: Auch das Aufrufen SCP file.txt myserver:file.txtgibt einen ähnlichen Fehler:file.txt: No such file or directory

Trindaz
quelle
Kennst du den vollständigen Pfad zu deiner Datei.txt? SCP-Full-Path-to-File.txt Myserver: file.txt
Danke shadow_boi, aber das ist das Problem: mit vollem Pfad bedeutet einschließlich c: \, die mir den Fehler ssh gibt: Konnte den Hostnamen nicht auflösen c: Name oder Dienst nicht bekannt
Trindaz
2
Ich vermute, Sie haben sich mit Putty beim Server angemeldet und den CP-Kommentar wie oben erwähnt eingegeben? Das ist das Problem. Jetzt sind Sie am Server, wenn Sie also C
1
Ich glaube nicht, dass Kitt allein die Arbeit machen kann. WinSCP ist ein nettes GUI-Tool zum sicheren Kopieren von Dateien. Putty funktioniert sehr gut für den Job, auch mit dem Kommandozeilen-Tool namens pscp.
Ich hatte das Problem, mit pscp eine Datei über einen Zwischenserver zu kopieren. Diese Frage war die Grundlage, auf der ich es herausgefunden habe. Die vollständigen Anweisungen zum Weiterleiten dieser Frage an den nächsten Schritt finden Sie hier: superuser.com/q/577663/57649
Scott,

Antworten:

13

Hast du sowas schon probiert?

pscp -l user1 c:\ftp\picture.jpg slacker1:/home/user1/pics

Das Handbuch für Putty schlägt vor

So senden Sie eine oder mehrere Dateien an einen Remote-Server:

pscp [options] source [source...] [user@]host:target

So kopieren Sie die lokale Datei als Benutzer auf den c:\documents\foo.txtServer in die Datei, die Sie eingeben würden:example.comfred/tmp/foo

pscp c:\documents\foo.txt [email protected]:/tmp/foo


Nachsatz

Auf der Putty-Download-Seite können Sie herunterladen putty.zip- einen vollständigen Satz von Putty-Tools oder Sie können einfach die Tools herunterladen, die Sie benötigen (in diesem Fall haben Sie möglicherweise putty.exe heruntergeladen, aber pscp.exe noch nicht heruntergeladen).

RedGrittyBrick
quelle
1
Ich habe Kitt installiert. Ich habe anscheinend kein pscp in der Putty-Shell oder in meiner lokalen Shell. Könnten Sie etwas mehr Licht ins Dunkel bringen? Woher rennst du pscp? Cheers
JonnyRaa
1
@JonnyLeeds: Ich führe es in einer Windows-Eingabeaufforderung (cmd) aus dem Putty-Installationsverzeichnis aus, z C:\Program Files (x86)\PuTTY\pscp.exe. B. in meinem Fall. Sie können entweder den vollständigen Pfad in doppelte Anführungszeichen setzen (wegen der Leerzeichen) oder das Verzeichnis zu% PATH% hinzufügen (weitere Antworten finden Sie hier).
RedGrittyBrick
1
Hallo, danke für die Antwort, aber alles, was ich in meinem Putty-Ordner habe, ist putty.exe, puttygen.exe und eine ppk-Datei
JonnyRaa
1
@JonnyLeeds: Sie können entweder nur die Datei pscp.exe von chiark.greenend.org.uk/~sgtatham/putty/download.html herunterladen oder eine Datei putty.zip herunterladen, die einen vollständigen, konsistenten Satz der neuesten Version der Putty-Tools enthält, und die Datei ersetzen Sparse Set, das Sie haben.
RedGrittyBrick
Gute Antwort. Noch ein Leckerbissen: Sie können häufig einen Punkt nach dem Doppelpunkt des Remotestandorts verwenden, wenn Sie nicht wissen, wohin die Datei verschoben werden soll. Zum Beispiel: pscp -l Benutzername C: \ dir \ file.txt Server :.
TOOGAM
6

Eine Lösung, die PuTTY nicht verwendet: Stellen Sie mit FileZilla über SFTP eine Verbindung zum Server her, um Dateien zu übertragen.

Trindaz
quelle
5

Es gibt keine Möglichkeit, eine Dateiübertragung von einer im PuTTY-Fenster geöffneten SSH-Sitzung zurück zu / von lokalem Windows zu initiieren.

Die aktuellen Versionen von PuTTY unterstützen jedoch die gemeinsame Nutzung von Verbindungen.

Während Sie weiterhin einen kompatiblen Dateiübertragungs-Client (den pscpoder den psftp) ausführen müssen , ist keine neue Anmeldung erforderlich. Er verwendet automatisch (falls aktiviert) eine vorhandene PuTTY-Sitzung.

Informationen zum Aktivieren der Freigabe finden Sie unter:
Freigeben einer SSH-Verbindung zwischen PuTTY-Tools .


Alternativ kann WinSCP, ein GUI-SFTP / SCP-Client, verwendet werden . Während Sie die entfernte Site durchsuchen, können Sie jederzeit ein SSH-Terminal für dieselbe Site öffnen, indem Sie den Befehl In PuTTY öffnen verwenden .

Siehe Eröffnungssitzung in PuTTY .

Mit einem zusätzlichen Setup können Sie PuTTY sogar automatisch zu demselben Verzeichnis navigieren lassen, das Sie mit WinSCP durchsuchen.

Siehe PuTTY im selben Verzeichnis öffnen .

(Ich bin der Autor von WinSCP)

Martin Prikryl
quelle
0

Ich konnte pscp nicht finden, wie oben vorgeschlagen, und habe dann WinScp verwendet.

Es ist ein clientseitiges Programm mit einer GUI, die Ihre Kittkonfigurationen aufnimmt.

JonnyRaa
quelle
chiark.greenend.org.uk/~sgtatham/putty/download.html bietet pscp.exe und die ähnliche psftp.exe-Datei an. Das the.earth.li/~sgtatham/putty/latest/x86/… (für Version 0.63, die zum Zeitpunkt der Erstellung dieses Dokuments die neueste Version ist) ist möglicherweise am einfachsten für Personen, die es vorziehen, einen einfachen Installationsvorgang mit einem zu durchlaufen GUI, während die putty.zip-Datei auch putty.exe und pscp.exe und psftp.exe enthält
TOOGAM
0
  1. Öffnen Sie in PSFTP den Ordner, in den Sie die Datei einfügen möchten
    . cd dateiname
  2. Geben Sie in der Befehlszeile Folgendes ein: lcd pathtofolder
    Ex. lcd C: \ Users \ Lyn \ Pictures
  3. Klicken Sie auf die Eingabetaste und geben Sie Folgendes ein: put filename
    Ex. lynhw1.pdf einfügen
  4. Klicken Sie auf die Eingabetaste und die Datei sollte übertragen werden

Hoffe, es funktioniert bei dir genauso wie bei mir.
Hinweis: Ich habe dies in PSFTP mit Putty gemacht.

"PSFTP, der PuTTY SFTP-Client, ist ein Tool zum sicheren Übertragen von Dateien zwischen Computern über eine SSH-Verbindung" - http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

Laden Sie PSFTP von der Website http://www.putty.org/ herunter . Unter Download Kitt hier.

Lyn
quelle
-2

Wenn Sie diese Art der Dateiübertragung automatisieren möchten, gehen Sie wie folgt vor .bat:

@echo off

set pw=foobemcfoobar

set inp=input.lst

for /F "tokens=*" %%i in (%inp%) do (

echo %%i

echo y | C:\tmp\pscp.exe -C -agent -pw "%pw%" C:\tmp\files\foo.txt root@%%i:/tmp/

echo "=== Accepting SSH, copying ...==="

 )

(Wo input.lstist eine Textdatei mit aufgelisteten Zielen?)

Nin Kan
quelle
Dies ist vielleicht für das Thema relevant, beantwortet aber nicht die Frage.
Ich sage Reinstate Monica
Schlagen Sie auch nicht vor, einen Host-Schlüssel blindlings mit zu akzeptieren echo y. Sie verlieren dadurch die Sicherheit.
Martin Prikryl
mhh stimmte zu, das "echo y" ist ein sicherheitsproblem. In Bezug auf die Relevanz habe ich diese Dateikopie nur einen Schritt weitergedacht, weil ich mich einmal in genau dieser Situation befand
Nin Kan