Come trasferisco un file sul mio server usando PuTTY?


16

quando chiamo SCP in PuTTY sulla mia casella Win7, non mi consente di usare C: /, ma non ho nemmeno idea di dove sul mio computer locale cercherà i file per impostazione predefinita. Nessuna directory del programma o directory utente ha funzionato. Ad esempio, ho salvato file.txt accanto a PuTTY.exe e anche in C: \ Users \ Me ma la chiamata a SCP file.txt file.txt in PuTTY è fallita entrambe le volte con

cp: impossibile stat 'file.txt'

Quindi, come posso trasferire un file sul mio server usando PuTTY?

EDIT: Inoltre, la chiamata SCP file.txt myserver:file.txtdà un errore simile:file.txt: No such file or directory


conosci il percorso completo del tuo file.txt? myserver SCP full-path-to-file.txt: file.txt

Grazie shadow_boi, ma questo è il problema: usare il percorso completo significa includere c: \, il che mi dà l'errore ssh: Impossibile risolvere il nome host c: Nome o servizio sconosciuto
Trindaz,

2
Immagino che tu abbia effettuato l'accesso al server usando putty e digitato il commento CP come hai menzionato sopra? Questo è il problema. Ora sei sul server, quindi quando digiti C: il server non ha c drive

1
Non penso che solo lo stucco possa fare il lavoro. WinSCP è un piacevole strumento GUI per la copia sicura dei file, Putty funziona molto bene per il lavoro anche usando lo strumento da riga di comando chiamato pscp.

Ho avuto il problema di usare pscp per copiare un file attraverso un server intermedio. Questa domanda è stata la base per farmi capire. Le istruzioni complete su come portare questa domanda al passaggio successivo sono qui superuser.com/q/577663/57649
Scott

Risposte:


13

Hai provato qualcosa del genere

pscp -l user1 c:\ftp\picture.jpg slacker1:/home/user1/pics

Il manuale di Putty suggerisce

Per inviare (a) file a un server remoto:

pscp [options] source [source...] [user@]host:target

Quindi, per copiare il file locale c:\documents\foo.txtsul server example.comcome utente fred nel file /tmp/foo, digitare:

pscp c:\documents\foo.txt fred@example.com:/tmp/foo


poscritto

La pagina di download di Putty ti consente di scaricare putty.zipun set completo di strumenti Putty oppure puoi semplicemente scaricare gli strumenti necessari (nel qual caso potresti aver scaricato putty.exe ma non hai ancora scaricato pscp.exe)


1
Ho installato Putty. Non sembra che pscp sia disponibile nella shell putty o nella shell locale. Potresti fare un po 'più di luce? Da dove esegui pscp? Saluti
JonnyRaa,

1
@JonnyLeeds: lo eseguo in un prompt dei comandi di Windows (cmd) dalla directory di installazione di Putty, ad esempio C:\Program Files (x86)\PuTTY\pscp.exenel mio caso. Puoi inserire il percorso completo tra virgolette doppie (a causa degli spazi in esso) o aggiungere la directory al tuo% PATH% (vedi altre risposte qui per come farlo).
RedGrittyBrick il

1
Ciao grazie per la risposta, ma tutto quello che ho nella mia cartella putty è putty.exe, puttygen.exe e un file
ppk

1
@JonnyLeeds: Puoi scaricare solo pscp.exe da chiark.greenend.org.uk/~sgtatham/putty/download.html o scaricare un putty.zip contenente un set completo e coerente dell'ultima versione degli strumenti Putty e sostituire il set sparso che hai.
RedGrittyBrick,

Bella risposta. Un altro bocconcino: puoi spesso usare un punto dopo i due punti della posizione remota se non sai dove vuoi che il file vada. Ad esempio: pscp -l nome utente C: \ dir \ file.txt server :.
TOOGAM,

6

Una soluzione che non utilizza PuTTY: connettiti al server con FileZilla usando SFTP per trasferire file.


5

Non è possibile avviare un trasferimento di file da / verso Windows locale da una sessione SSH aperta nella finestra PuTTY.

Sebbene le versioni recenti di PuTTY supportino la condivisione della connessione.

Sebbene sia ancora necessario eseguire un client di trasferimento file compatibile (il pscpo il psftp), non è richiesto alcun nuovo accesso, automaticamente (se abilitato) si avvale di una sessione PuTTY esistente.

Per abilitare la condivisione, consultare:
Condivisione di una connessione SSH tra strumenti PuTTY .


In alternativa, è utilizzare WinSCP, un client SFTP / SCP della GUI . Mentre navighi nel sito remoto, puoi sempre aprire un terminale SSH sullo stesso sito usando il comando Apri in PuTTY .

Vedi Sessione di apertura in PuTTY .

Con un'impostazione aggiuntiva, puoi persino fare in modo che PuTTY passi automaticamente alla stessa directory che stai navigando con WinSCP.

Vedi Apertura di PuTTY nella stessa directory .

(Sono l'autore di WinSCP)


0

Non sono riuscito a trovare pscp come suggerito sopra e ho finito con WinScp.

È un programma lato client con una GUI che raccoglie le tue configurazioni di mastice.


chiark.greenend.org.uk/~sgtatham/putty/download.html offre pscp.exe e il file psftp.exe simile. Il the.earth.li/~sgtatham/putty/latest/x86/... (per la versione 0.63, che è la versione più recente al momento in cui scriviamo) potrebbe essere più semplice per le persone che preferiscono non venga calpestato attraverso un processo di installazione semplice utilizzando un GUI, mentre il file putty.zip contiene anche putty.exe e pscp.exe e psftp.exe
TOOGAM

0
  1. In PSFTP apri la cartella in cui vuoi inserire il file.
    Es. cd nomefile
  2. Nella riga di comando digitare: lcd pathtofolder
    Ex. LCD C: \ Users \ Lyn \ Pictures
  3. Fai clic su Invio e digita: inserisci il nome file
    Ex. mettere lynhw1.pdf
  4. Fai clic su Invio per trasferire il file

Spero che funzioni per te come per me.
Nota: l'ho fatto in PSFTP usando Putty.

"PSFTP, il client SFTP PuTTY, è uno strumento per trasferire file in modo sicuro tra computer utilizzando una connessione SSH" - http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

Scarica PSFTP dalla pagina web http://www.putty.org/ . Sotto download stucco qui.


-2

Se si desidera automatizzare questo tipo di trasferimento di file tramite .bat:

@echo off

set pw=foobemcfoobar

set inp=input.lst

for /F "tokens=*" %%i in (%inp%) do (

echo %%i

echo y | C:\tmp\pscp.exe -C -agent -pw "%pw%" C:\tmp\files\foo.txt root@%%i:/tmp/

echo "=== Accepting SSH, copying ...==="

 )

(dove input.lstè un file di testo con le destinazioni elencate)


Anche se forse pertinente all'argomento , questo non risponde alla domanda.
Dico Reintegrare Monica il

Inoltre, non suggerire alle persone di accettare ciecamente una chiave host utilizzando echo y. In questo modo si perde la sicurezza.
Martin Prikryl,

mhh concordato, l '"eco y" è un problema di sicurezza. per quanto riguarda la pertinenza, ho appena preso quella copia del file pensato un ulteriore passo avanti perché ero una volta in quella stessa situazione
Nin Kan
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.