Kann ich Dateien mit SSH übertragen?

Kann ich Dateien mit SSH übertragen?

ich benutzeKittunter Windows 7 per SSH auf den Computerraum meiner Schule zugreifen. Kann ich per SSH Dateien von meinem Windows-Rechner auf meinen Benutzer auf den Schulrechnern übertragen?

Antwort1

Verwenden Sie das PSCP-Tool von der Putty-Downloadseite:

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

PSCP ist die Putty-Version von scp, einem cp (Kopieren)-über-ssh-Befehl.

PSCP muss auf Ihrem Windows-Computer installiert werden (einfach heruntergeladen, es gibt eigentlich keinen Installationsprozess. Im Abschnitt „Paketdateien“ ist pscp.exe bereits enthalten). Auf den Servern der Schule muss nichts installiert werden. PSCP und scp verwenden beide SSH zur Verbindung.

Um die Verwendungsfrage aus den Kommentaren zu beantworten:

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, wird dies der neue Dateiname sein. Sie können dies auch tun, um die Datei unter 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 einzelnen Punkt am Ende. Dadurch wird die angegebene Datei in das aktuelle Verzeichnis heruntergeladen.

Da der Kommentar zu weit unten steht, sollte ich hier auch darauf hinweisen, dass es WinSCP gibt, das für all dies eine GUI bereitstellt, falls das von Interesse ist:http://winscp.net/eng/download.php

Antwort2

Sie können Windows PowerShell verwenden (eigentlich handelt es sich dabei um einen OpenSSH-Befehl, der auch auf jedem UNIX-Betriebssystem verwendet werden kann):

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

-PFlag kann weggelassen werden, wenn SSH auf dem Standardport (22) geöffnet wird

Tauschen Sie die Positionen der lokalen und Remote-Pfade aus, um die Datei vom Remote-Host zu kopieren

z.B:

  • Datei "ps.key" per SSH kopieren
  • Das lokale Betriebssystem ist Windows 10
  • Remote-Adresse ist 192.168.88.242, ssh (Daemon) arbeitet auf Port 1688
  • Remote-Benutzername ist „Nick“

Befehl:

lokal(win)->remote(unix):

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

remote->local (vom Remote-Host kopieren):

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

Danach sollten Sie den Zielschlüssel-Fingerabdruck bestätigen (wenn Sie zuvor noch nicht über PowerShell eine Verbindung zu diesem Host hergestellt haben) und sich auf dem Remote-Host authentifizieren (geben Sie das Benutzerkennwort oder das SSH-Schlüsselkennwort ein, wenn Sie keinen SSH-Agent verwenden).

sollte unter Win10 ohne Installationen funktionieren, da OpenSSH dort integriert ist

Antwort3

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

Antwort4

Sie können viele Dateien einfach mit folgendem zusammenfassen tar:

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

...wodurch alle Dateien im aktuellen Verzeichnis auf dem lokalen Computer rekursiv komprimiert und zum Zielpfad gestreamt werden, während gleichzeitig der Stream auf dem Remotecomputer dekomprimiert und erweitert wird.

Sie können ähnliche Dinge für alles tun, was in die Standardausgabe schreibt. catist eine naheliegende Wahl:

cat ./localfile | ssh user@remote 'cat >./remotefile'

verwandte Informationen