Copia del file remoto su un percorso specificato sul desktop locale usando scp


10

Stavo provando a copiare un file dal server remoto usando SCP ma stava dando il seguente errore.

bash-3.2$ scp username@server:main.php C:\main.php

ssh: Impossibile risolvere il nome host C: nome host o nome servizio fornito o non noto

Sta assumendo C: come nome host ma è solo il nome dell'unità ... Per favore, lasciami come specificare esplicitamente come qualche escape per sbarazzarsi di questo problema.

Se non specifico il percorso in cui salvare sul desktop locale, funziona perfettamente.

bash-3.2$ scp username@server:main.php main.php
main.php                                                                   100%   29KB  28.9KB/s   00:01

Apprezzo qualsiasi aiuto .. Grazie in anticipo,

PS: utilizzando Windows XP SP2

Risposte:


14

Se si utilizza Cygwin scp, è possibile provare a utilizzare i percorsi Cygwin:

scp user@host:main.php /cygdrive/c/main.php

Puoi anche usare i comandi pscpe psftpinclusi nel pacchetto PuTTY : sono programmi Win32 nativi e non si lamentano dei percorsi di Windows.

In alternativa, WinSCP è un buon client SCP / SFTP (principalmente una GUI, anche se viene fornito con uno strumento da riga di comando).


In realtà è / cygdrive / c.
Adam Rosenfield,

Grazie per la GUI consigliata. Si noti che WinSCP consente di modificare l'editor che si utilizza con esso e funzionerà insieme a emacsclientw.
Giles Roberts,

1
@grawity In realtà avevi ragione prima. È /cygdrive/cdi default, ma molti utenti di Cygwin corrono in mount --change-cygdrive-prefix /modo che sia /cinvece ( /decc.)
Poiché

2

Usa PSCP.exe

Il problema che stai riscontrando è perché stai facendo riferimento alla tua unità Windows XP dalla shell che non puoi fare. Hai effettuato l'accesso in remoto a una macchina, quindi a meno che la tua finestra di Windows XP non abbia un server SSH in esecuzione, nel qual caso utilizzeresti le informazioni di accesso e pw per la posizione di destinazione, non potrai farlo.

Utilizzando pscp.exe (gratuito) puoi fare quello che vuoi.


0

@grawity ha ragione. In futuro, puoi anche eseguire

pwd

per scoprire in quale directory ci si trova, in modo da poter capire il percorso corretto per la directory desiderata secondo cygwin.


0

Ho avuto il problema simile e ho avuto successo usando:

nome utente scp @ server: main.php /c/main.php

che è solo un po 'menzionato dagli altri.


3
In realtà, non è esattamente ciò di cui parla superuser.com/a/291841/53590 ? Inoltre essendo stato modificato da / c / a / cygdrive / c / dopo aver sottolineato che quest'ultimo è la forma corretta.
un CVn

0

correlate: avevo bisogno di usare le variabili locali nel percorso e ho trovato cygpathmolto utile usare .

per esempio

scp $MY_FILE ubuntu@192.128.23.23

diventare:

scp `cygpath $MY_FILE ` ubuntu@192.128.23.23 

ironicamente, solo: echo $MY_FILEda solo stava dando un percorso cygwin, ma usato nel comando scp, in qualche modo non lo era, e sputava lo stesso errore, ssh: Impossibile risolvere il nome host C: nome host o nome servizio fornito, o non noto

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.