web-dev-qa-db-fra.com

SCP w/ssh: copie d'un fichier local de Windows sur un serveur distant à l'aide de scp

Je tente donc simplement de transférer le dossier de fichiers de mon ordinateur local vers un serveur via ssh et scp. Après avoir utilisé la commande, j'utilise la commande comme suit:

scp -r C:/desktop/myfolder/deployments/ user@Host:/path/to/whereyouwant/thefile

Je reçois l'erreur:

ssh: C: nom ou service inconnu

Je devine sa ma syntaxe pour c:/desktop etc. Des idées? 

BTW j'utilise PuTTY + Windows 7.

50
HelloWorld

Si votre lettre de lecteur est C, vous devriez pouvoir utiliser 

scp -r \desktop\myfolder\deployments\ user@Host:/path/to/whereyouwant/thefile 

sans lettre de lecteur et sans barres obliques inverses au lieu de barres obliques. 

Vous utilisez PuTTY, vous pouvez donc utiliser pscp . Il est mieux adapté à Windows.

40
Serkan Yilmaz

Les lettres de lecteur peuvent être utilisées dans la cible, comme

scp some_file user@Host:/c/temp

c est la lettre de lecteur. C'est traité comme un répertoire.

Peut-être que cela fonctionne sur la source aussi.

14
Jason

Sous Windows, vous pouvez utiliser une interface graphique de scp en utilisant winSCP . Un logiciel gratuit de Nice qui implémente protocole SFTP .

11
jedi

Vous pouvez aussi essayer ceci:

scp -r /cygdrive/c/desktop/myfolder/deployments/ user@Host:/path/to/whereyouwant/thefile
1
Aditya

Lettre de lecteur peut être utilisé dans la source comme

scp /c/path/to/file.txt user@server:/dir1/file.txt
0
Igor Mukhin

J'ai trouvé plus facile d'utiliser une interface graphique sur Windows (je recommande mobaXTerm il a ssh, scp, ftp, bureau à distance, etc.) mais si vous êtes en ligne de commande, je vous recommande de vous connecter à le répertoire avec le dossier source puis 
scp -r yourFolder username@server:/path/to/dir 
le -r indique que récursif doit être utilisé sur les répertoires

0
hehe3301

Je vois que ce message est très ancien, mais dans ma recherche d’une réponse à cette question précise, j’ai été incapable de trouver une solution à partir de la vaste autoroute Internet. J'espère donc pouvoir contribuer et aider quelqu'un qui, lui aussi, se trouvera à trébucher. Cette question simple et naturelle ne semble être documentée nulle part.

Sous Windows 10 Pro se connectant à Windows 10 Pro, les deux sous OpenSSH (Windows version 7.7p1, LibreSSL 2.6.5), j'ai pu trouver une solution par essais et erreurs. Bien qu'étonnamment simple, cela a pris un certain temps. J'ai trouvé la syntaxe requise pour être

PAR EXEMPLE AU LIEU DE MODÈLES PLUS OBSCURES ET INCOMPLETS:

Transfert sécurisé d’un système distant vers votre système local:

scp user@remotehost:\D\mySrcCode\ProjectFooBar\somefile.cpp C:\myRepo\ProjectFooBar

ou inversement:

scp C:\myRepo\ProjectFooBar\somefile.cpp user@remotehost:\D\mySrcCode\ProjectFooBar

J'ai également constaté que si les espaces sont dans le chemin, les citations doivent commencer après le nom de l'hôte distant:

scp user@remotehost:"\D\My Long Folder Name\somefile.cpp" C:\myRepo\SimplerNamerBro

En outre, dans votre cas particulier, je reprends ce que dit Cornel:

Sous Windows, utilisez une barre oblique inverse, au moins sur la console de commande conventionnelle.

Sincères amitiés. RocketCityElectromagnetics

0
Charles