Posso trasferire file usando SSH?


32

Sto usando PuTTY su Windows 7 per SSH nel mio laboratorio informatico della scuola. Posso trasferire file dal mio computer Windows al mio utente sui computer della scuola usando SSH?


Sto votando per chiudere questa domanda come fuori tema perché riguarda Windows, non Unix.
dr01,

@ dr01 vero ma ha molti voti, quindi probabilmente vale la pena partire per i posteri e andare avanti.
roaima,

Risposte:


41

Usa lo strumento PSCP dalla pagina di download di putty:

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

PSCP è la versione putty di scp che è un comando cp (copia) su ssh.

PSCP deve essere installato sul tuo computer Windows (appena scaricato, in realtà, non esiste alcun processo di installazione. Nella sezione File compressi, pscp.exe è già incluso). Non è necessario installare nulla sui server della scuola. PSCP e scp usano entrambi ssh per connettersi.

Per rispondere alla domanda di utilizzo dai commenti:

Per caricare dal tuo computer su un server remoto:

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

Ciò caricherà il file file.txt nella directory specificata sul server. Se la parte finale del percorso di destinazione NON è una directory, sarà il nuovo nome del file. Puoi anche farlo per caricare il file con un nome diverso:

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

Per scaricare un file da un server remoto sul tuo computer:

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

o

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

o

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

Con un punto solitario alla fine lì. Questo scaricherà il file specificato nella directory corrente.

Poiché il commento è troppo in basso, dovrei anche sottolineare che WinSCP esiste fornendo una GUI per tutto questo, se questo è di interesse: http://winscp.net/eng/download.php


Ovviamente non posso installare nulla sui computer dell'università. Ho bisogno di?
Alex Mohr,

Windows 7 è la tua o la tua scuola? Ho letto la domanda per suggerire che stai usando stucco sul tuo computer per collegarti a quello della scuola. In tal caso, non è necessario installare nulla sul computer della scuola, ma sarà necessario sul tuo.
SuperMagic,

Sto usando la mia macchina Windows 7. Grazie! Ho trovato il comando wget e ho usato dropbox per trasferire il file, ma lo terrò sicuramente a mente
Alex Mohr,

Ancora una cosa: scp funziona in entrambi i modi. Puoi caricare e scaricare con esso.
SuperMagic,

Sto avendo un po 'di problemi con la sintassi del comando. È pscp source "path_to_local_file" user@host:path_to_new_location:? L'ho fatto funzionare lasciando vuoto il percorso sul computer remoto, lo ha appena inserito nella mia directory principale.
Alex Mohr,

6

Potrebbe essere necessario utilizzare le barre (/) per parlare con i server LINUX / UNIX

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

3

Puoi semplicemente caricare molti file con tar:

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

... che comprimerebbe in modo ricorsivo e trasmetterà in streaming tutti i file nella directory corrente sul computer locale sul percorso di destinazione mentre contemporaneamente decomprime ed espande il flusso sul computer remoto.

Puoi fare cose simili per tutto ciò che scrive su stdout. catè una scelta ovvia:

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

1
Grande. Come farlo in Windows
Joe

@Joe - allo stesso modo? Forse <./localfile putty user@remote 'cat >./remotefile'- ho dimenticato tutti gli interruttori di mastice. Ma è abbastanza vicino
mikeserv

1
La versione di Windows / PuTTY sarebbe: digitare localfile | plink user @ remote "cat> remotefile"
Adam Haun,

2

È possibile utilizzare WinSCP per questo. È molto più facile rispetto agli altri strumenti elencati, fornisce una semplice interfaccia utente di trascinamento della selezione.


Non è chiaro quale relazione abbia questo con la domanda posta. A meno che non sia solo il nome di un programma client, e il resto è spazzatura.
Tom Hunt,

Forse la domanda è cambiata nel tempo, ma questa è la risposta che stavo cercando: questo è un programma con una GUI che può sfogliare e trasferire file su SSH. Importa anche le impostazioni da Putty. Imho molto utile, ma non ricordo il suo nome, grazie
Emile Vrijdags,

2

puoi usare il comando di Windows PowerShell:

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

-P il flag può essere omesso se ssh si apre sulla porta predefinita (22)

per esempio:

  • copiando il file "ps.key" dall'host Windows tramite ssh
  • l'indirizzo di destinazione è 192.168.88.242, ssh funziona sulla porta 1688
  • il nome utente target è "nick"

comando:

scp -P 1688 "D:\MEGA\ps.key" nick@192.168.88.242:/home/nick/ps.key

Successivamente, è necessario confermare l'impronta digitale della chiave di destinazione (se non si è già connessi a questo host tramite PowerShell in precedenza) e digitare la password dell'utente di destinazione.

testato su win10, non ha richiesto installazioni aggiuntive


Non sembra un comando Powershell. Sei sicuro che non scpprovenga dalla suite PuTTY?
roaima,

@roaima OpenSSH è disponibile come parte facoltativa ma integrata di Windows 10 dall'aggiornamento di Fall Creator (fine 2017) ed è stato installato di default dall'aggiornamento di aprile 2018. Il scpcomando è incluso
Bob Sammers,

1
@BobSammers oh così è. (Il mio è mascherato da un'installazione di Cygwin.) Tuttavia, non è Powershell in alcun senso unificato. Riga di comando certamente, ma non Powershell.
roaima,

In realtà questa è la soluzione più semplice, ho appena provato con PShell sul mio Windows e apre un SSH su RHEL, chiedi la password, copia il file e chiudi. E funziona!
Raffaeu,

0

Usa lo strumento Beyond Compare se non sei un guru della riga di comando. Beyond Compare è uno strumento di confronto di cartelle con un'interfaccia utente intuitiva e consente di utilizzare file di chiavi private SFTP e SSH per diversi ambienti in cui si sta tentando di accedere. Ecco il link allo strumento [ https://www.scootersoftware.com/[[1]


0

Dal momento che hai già familiarità con lo stucco. Ti suggerisco di dare un'occhiata a https://mobaxterm.mobatek.net/ . MobaXterm ha tutto il necessario per lavorare in remoto su Linux da computer Windows, sono inclusi ssh, sftp, scp, Xwindows. Secondo me è molto meglio dello stucco.


È anche gratuito (gratuito) per uso personale? ad esempio SSH in un laboratorio informatico scolastico (come nella domanda)?
Pierre.Vriens,

sì. MobaXterm è gratuito anche per uso commerciale a meno che non sia necessario salvare più di 10 sessioni. Sono uno sviluppatore di software e la versione gratuita funziona perfettamente per il mio lavoro. Per il lavoro scolastico, vai avanti.
Cen R.,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.