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>
-P
Flag 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. cat
ist eine naheliegende Wahl:
cat ./localfile | ssh user@remote 'cat >./remotefile'