Kann ich Dateien mit SSH übertragen?

32

Ich verwende PuTTY unter Windows 7 für SSH in meinem Schulcomputerlabor. Kann ich mit SSH Dateien von meinem Windows-Computer auf den Schulcomputern auf meinen Benutzer übertragen?

Alex Mohr
quelle
Ich stimme dafür, diese Frage als "Off-Topic" zu schließen, da es sich um Windows und nicht um Unix handelt.
dr01
@ dr01 wahr, aber es hat viele positive Stimmen, also lohnt es sich wahrscheinlich, für die Nachwelt zu bleiben und weiterzumachen.
Roaima

Antworten:

41

Verwenden Sie das PSCP-Tool von der Putty-Download-Seite:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PSCP ist die Putty-Version von scp, bei der es sich um eine Kopie des Befehls ssh handelt.

PSCP muss auf Ihrem Windows-Computer installiert sein (gerade heruntergeladen, es gibt wirklich keinen Installationsprozess. Im Abschnitt "Gepackte Dateien" ist "pscp.exe" bereits enthalten). Auf den Servern der Schule muss nichts installiert werden. PSCP und scp verwenden beide ssh, um eine Verbindung herzustellen.

So beantworten Sie die Verwendungsfrage aus den Kommentaren:

So laden Sie von Ihrem Computer auf einen Remote-Server hoch:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path

Dadurch wird die Datei file.txt in das angegebene Verzeichnis auf dem Server hochgeladen. Wenn der letzte Teil des Zielpfads KEIN Verzeichnis ist, ist dies der neue Dateiname. Sie können dies auch tun, um die Datei mit einem anderen Namen hochzuladen:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt

So laden Sie eine Datei von einem Remote-Server auf Ihren Computer herunter:

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\

oder

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt

oder

c:\pscp user@remote:\home\user\some\file.txt .

Mit einem einsamen Punkt am Ende. Dadurch wird die angegebene Datei in das aktuelle Verzeichnis heruntergeladen.

Da der Kommentar zu weit unten ist, sollte ich hier auch darauf hinweisen, dass WinSCP für all dies eine grafische Benutzeroberfläche bereitstellt, falls dies von Interesse ist: http://winscp.net/eng/download.php

SuperMagic
quelle
Ich kann natürlich nichts auf den Universitätscomputern installieren. Muss ich?
Alex Mohr
Ist die Windows 7 Maschine deine oder deine Schule? Ich habe die Frage gelesen, um vorzuschlagen, dass Sie Putty auf Ihrem Computer verwenden, um eine Verbindung mit der Schule herzustellen. In diesem Fall müssen Sie nichts auf dem Computer der Schule installieren, sondern nur auf Ihrem.
SuperMagic
Ich benutze meine Windows 7-Maschine. Vielen Dank! Ich habe den Befehl wget gefunden und die Datei mit Dropbox übertragen, aber ich werde das mit Sicherheit berücksichtigen
Alex Mohr,
Eins noch: scp funktioniert in beide Richtungen. Sie können damit sowohl hochladen als auch herunterladen.
SuperMagic
Ich habe ein bisschen Probleme mit der Syntax des Befehls. Ist es pscp source "path_to_local_file" user@host:path_to_new_location:? Ich habe es geschafft, indem ich den Pfad auf dem Remote-Computer leer ließ. Es wurde einfach in mein Stammverzeichnis gestellt.
Alex Mohr
6

Möglicherweise müssen Sie Schrägstriche (/) verwenden, um mit LINUX / UNIX-Servern zu kommunizieren

c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path
INDIVIDUAL-IT
quelle
3

Sie können einfach eine Menge Dateien zusammenstellen mit tar:

tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'

... das rekursiv alle Dateien im aktuellen Verzeichnis auf dem lokalen Computer komprimiert und zum Zielpfad überträgt, während gleichzeitig der Stream auf dem Remotecomputer dekomprimiert und erweitert wird.

Sie können ähnliche Aktionen für alles ausführen, was in stdout geschrieben wird. catist eine naheliegende Wahl:

cat ./localfile | ssh user@remote 'cat >./remotefile'
mikeserv
quelle
1
Groß. Wie es in Windows zu tun
Joe
@ Joe - der gleiche Weg? Vielleicht <./localfile putty user@remote 'cat >./remotefile'- ich habe alle Kittschalter vergessen. Aber es ist ziemlich eng
mikeserv
1
Die Windows / PuTTY-Version wäre: Geben Sie localfile | ein plink user @ remote "cat> remotefile"
Adam Haun
2

Hierfür können Sie WinSCP verwenden . Es ist viel einfacher als die anderen aufgelisteten Tools und bietet eine einfache Benutzeroberfläche zum Ziehen und Ablegen.

Paul Grant
quelle
Unklar, in welchem ​​Verhältnis dies zur gestellten Frage steht. Es sei denn, es ist nur der Name eines Client-Programms und der Rest ist Junk.
Tom Hunt
Vielleicht hat sich die Frage im Laufe der Zeit geändert, aber das ist die Antwort, nach der ich gesucht habe: Dies ist ein Programm mit einer GUI, das Dateien über ssh durchsuchen und übertragen kann. Es werden sogar Einstellungen aus Putty importiert. Sehr praktisch imho, erinnerte sich nur nicht an seinen Namen, thx
Emile Vrijdags
2

Sie können den Windows PowerShell-Befehl verwenden:

scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>

-P Flag kann weggelassen werden, wenn ssh auf dem Standardport (22) geöffnet ist

z.B:

  • Kopieren der Datei "ps.key" vom Windows-Host über ssh
  • Die Zieladresse lautet 192.168.88.242, ssh funktioniert auf Port 1688
  • Ziel-Benutzername ist "Nick"

Befehl:

scp -P 1688 "D:\MEGA\ps.key" [email protected]:/home/nick/ps.key

Danach sollten Sie den Fingerabdruck des Zielschlüssels bestätigen (falls Sie zuvor noch keine Verbindung zu diesem Host über PowerShell hergestellt haben) und das Kennwort des Zielbenutzers eingeben.

Getestet auf Win10, keine zusätzlichen Installationen erforderlich

Trofogol
quelle
Das sieht nicht nach einem Powershell-Befehl aus. Sind Sie sicher, dass es nicht scpaus der PuTTY-Suite stammt?
Roaima
@roaima OpenSSH ist seit dem Update von Fall Creator (Ende 2017) als optionaler, aber integrierter Bestandteil von Windows 10 verfügbar und seit dem Update von April 2018 standardmäßig installiert. Der scpBefehl ist enthalten.
Bob Sammers
1
@ BobSammers oh so ist es. (Mine wird von einer Cygwin-Installation maskiert.) Es ist jedoch in keiner Weise Powershell. Kommandozeile sicherlich, aber nicht Powershell.
Roaima
Eigentlich ist das die einfachste Lösung, ich habe es gerade mit PShell unter Windows versucht und es öffnet sich ein SSH unter RHEL, frage nach dem Passwort, kopiere die Datei und schließe. Und es funktioniert!
Raffaeu
0

Verwenden Sie das Beyond Compare Tool, wenn Sie kein Kommandozeilen-Guru sind. Beyond Compare ist ein Ordnervergleichstool mit einer ansprechenden Benutzeroberfläche, mit dem Sie SFTP- und SSH-Private-Key-Dateien für verschiedene Umgebungen verwenden können, in denen Sie sich anmelden möchten. Hier ist der Link zum Tool [ https://www.scootersoftware.com/[1]

nichts
quelle
0

Da kennst du dich schon mit Kitt aus. Ich schlage vor, Sie werfen einen Blick auf https://mobaxterm.mobatek.net/ . MobaXterm bietet alles, was Sie für die Remote-Arbeit unter Linux von Windows-Computern, ssh, sftp, scp und Xwindows benötigen. Es ist meiner Meinung nach viel besser als Kitt.

Cen R.
quelle
Ist es auch kostenlos für den nicht persönlichen Gebrauch? zB zu SSH in ein Schulcomputerlabor (wie in der Frage)?
Pierre.Vriens
Ja. MobaXterm ist auch für die kommerzielle Nutzung kostenlos, es sei denn, Sie müssen mehr als 10 Sitzungen speichern. Ich bin ein Softwareentwickler und die kostenlose Version funktioniert perfekt für meinen Job. Für die Schularbeit einfach weitermachen.
Cen R.