Ich bin mit PuTTY bei einem Remote-Host angemeldet.
Wie lautet der Befehl zum Übertragen von Dateien von meinem lokalen Computer auf den Computer, bei dem ich bei PuTTY angemeldet bin?
Ich bin mit PuTTY bei einem Remote-Host angemeldet.
Wie lautet der Befehl zum Übertragen von Dateien von meinem lokalen Computer auf den Computer, bei dem ich bei PuTTY angemeldet bin?
Antworten:
Dies ist wahrscheinlich keine direkte Antwort auf Ihre Fragen, aber wenn ich Dateien über eine SSH-Sitzung übertragen muss, verwende ich WinSCP , ein hervorragendes Dateiübertragungsprogramm über SCP oder SFTP. Dies setzt natürlich voraus, dass Sie unter Windows arbeiten.
sudo
Informationen zum Erstellen in WinSCP finden Sie unter FAQ. Wie ändere ich den Benutzer nach der Anmeldung (z. B. su root)?
c:> pscp Quellendateiname Benutzer-ID @ Servername: / Pfad / Zieldateiname.
c:> pscp november2012 wrhse@warehouse.cit.cornell.edu: / mydata / november2012.
Genießen
sudo su - user
PuTTY wird normalerweise mit einem Client namens psftp geliefert, den Sie für diesen Zweck nutzen können. Ich glaube nicht, dass Sie dies über den Standard-PuTTY-Client tun können (obwohl ich mich möglicherweise darin geirrt habe).
Mit PuTTY können Sie nur den Remote-Computer manipulieren. Es bietet keine direkte Verbindung zwischen den beiden Dateisystemen mehr als das Sitzen auf dem Remote-Computer.
Es gibt keine Möglichkeit, eine Dateiübertragung von / zu lokalem Windows von einer im PuTTY-Fenster geöffneten SSH-Sitzung zurück zu initiieren.
Obwohl PuTTY die gemeinsame Nutzung von Verbindungen unterstützt.
Während Sie noch einen kompatiblen Dateiübertragungsclient (den pscp
oder 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 können Sie WinSCP verwenden, einen GUI-SFTP / SCP-Client. Während Sie die Remote-Site durchsuchen, können Sie das SSH-Terminal jederzeit über die Schaltfläche In PuTTY öffnen für dieselbe Site öffnen .
Siehe Eröffnungssitzung in PuTTY .
Mit einem zusätzlichen Setup können Sie PuTTY sogar dazu bringen, automatisch zu demselben Verzeichnis zu navigieren, das Sie mit WinSCP durchsuchen.
Siehe Öffnen von PuTTY im selben Verzeichnis .
(Ich bin der Autor von WinSCP)
Sie können psftp.exe auch herunterladen von:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Wenn Sie es ausführen, geben Sie Folgendes ein:
open "server name"
Dann:
put "file name"
(Geben Sie help ein, um eine vollständige Liste der Befehle zu erhalten.)
Sie können auch eingeben get <file name>
, um Dateien von einem Remotecomputer auf den lokalen Computer herunterzuladen.
Wenn es sich nur um eine Datei handelt, können Sie das folgende Verfahren (in Kitt) anwenden:
Bearbeiten Sie die Dateiberechtigung mit dem nächsten Befehl: chmod u + x filename.extension
Da Sie nach / von gefragt haben, ist hier ein Trick, der für den 'von'-Teil funktioniert. Öffnen Sie den Bildschirm "Einstellungen ändern ...", Terminal und wählen Sie unter "Drucker, an den die ANSI-Druckerausgabe gesendet werden soll:" die Option "Nur Allgemein / Text".
Führen Sie dies jetzt auf dem Remote-System in einer Zeile aus:
tput mc5; cat whatever.txt; tput mc4
Putty informiert Sie darüber, dass die Datei gespeichert wurde. Dazu wird das Terminal in den Druckermodus versetzt (tput mc5), die Datei auf dem Bildschirm gedruckt (cat) und anschließend der Druckermodus ausgeschaltet (tput mc4). Wenn Sie nicht alle Befehle in eine Zeile setzen, wird der Bildschirm eingefroren angezeigt, da Putty die gesamte Terminalausgabe in einer Datei im Hintergrund speichert.
Wenn Sie sich auf einem eingeschränkteren System befinden, das nicht über den Befehl tput verfügt (z. B. ein qnap), können Sie printf "\ x1b [5i" anstelle von tput mc5 und printf "\ x1b [4i" anstelle von tput mc4 verwenden .
Der Befehl in der Mitte ist nur alles, was auf dem Bildschirm gedruckt wird. Verwenden Sie also tail -n 10000 blah.log, um die letzten 10.000 Zeilen der Protokolldatei herunterzuladen, oder verwenden Sie einen base64-Encoder, um eine Binärdatei etwas zuzuordnen, das Sie drucken (und dann auf Ihrem lokalen System dekodieren) können:
printf "\x1b[5i"; openssl enc -base64 -in something.zip; printf "\x1b[4i"
Wenn Sie eine Überprüfung des privaten Schlüssels durchführen müssen; Führen Sie an der Eingabeaufforderung (cmd) aus
Zuerst;
set PATH=C:\PuttySetupLocation
Zweite;
pscp -i C:/MyPrivateKeyFile.ppk C:/MySourceFile.jar ubuntu@55.69.41.155:/home/ubuntu
Wenn Sie zusätzliche Optionen benötigen, klicken Sie auf den folgenden Link. https://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html
set PATH=C:\PuttySetupLocation
? Warum machst du das nicht C:\PuttySetupLocation\pscp
direkt? - Auch wenn Sie Änderungen vornehmen möchten PATH
, sollten Sie den neuen Pfad hinzufügen und nicht vollständig zurücksetzen.
Schau hier:
Es wird die Verwendung pscp.exe
von PuTTY empfohlen , das hier zu finden ist: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Eine direkte Übertragung wie FTP ist nicht möglich, da alle Befehle während Ihrer Sitzung an den Server gesendet werden.
Übertragen von Dateien mit Putty (pscp / plink.exe)
Die Standard-Putty-Installation bietet mehrere Möglichkeiten zum Übertragen von Dateien. Höchstwahrscheinlich putty
befindet es sich in Ihrem Standardpfad, sodass Sie direkt putty
über die Eingabeaufforderung aufrufen können
. Wenn dies nicht der Fall ist, müssen Sie möglicherweise Ihre Umgebungsvariablen ändern. Siehe Anweisungen hier:
https://it.cornell.edu/managed-servers/transfer-files-using-putt
Schritte
Öffnen Sie die Eingabeaufforderung durch Eingabe cmd
So übertragen Sie Ordner von Ihrem Windows-Computer auf einen anderen Windows-Computer
(beachten Sie das -r
Flag, das angibt, dass die Dateien rekursiv übertragen werden, ohne dass Sie sie komprimieren müssen):
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
So übertragen Sie Dateien von Ihrem Windows-Computer auf einen anderen Windows-Computer
:
pscp -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
Manchmal haben Sie möglicherweise nur plink
installiert. plink
kann möglicherweise zum Übertragen von Dateien verwendet werden, ist jedoch am besten auf einfache Textdateien beschränkt. Es kann ein unbekanntes Verhalten bei Binärdateien haben ( /superuser/1289455/create-text-file-on-remote-machine-using-plink-putty-with-contents-of-windows-lo ):
plink -i C:/Users/username/.ssh/id_rsa.ppk user@host <localfile "cat >hostfile"
Um Dateien von einem Linux-Server auf einen Windows-Computer auf einen Linux-Computer zu übertragen, verwenden Sie
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" username@10.15.48.16:/home/username
Damit all dies funktioniert, benötigen Sie den richtigen öffentlichen / privaten Schlüssel. Informationen zum Generieren für Kitt finden Sie unter: https://superuser.com/a/1285789/658319
Auf diese Weise ermöglicht pscp unter Windows einen direkten Upload (ohne die Anforderung, z. B. Schlüssel zu akzeptieren):
pscp.exe -scp -pw 'my_pw' -v -i my.ppk -l root -batch -sshlog logfile19.txt -hostkey ba:2e:4d:12:68:82:19:a1:d2:22:bc:12:c2:1a:44:a7 hallo4.txt root@10.10.10.10:/srv/www/htdocs/xml_parser/hallo4.txt