web-dev-qa-db-fra.com

scp de Linux à Windows

J'exécute un client PuTTY sur une machine Windows pour me connecter avec succès à une machine Linux. Maintenant, je veux pouvoir copier un fichier de la machine Linux sous le chemin /home/ubuntu/myfile à C:/Users/Anshul/Desktop sur mon ordinateur local. L'utilisateur sur la machine Windows est anshul. Je donne la commande suivante sur PuTTY mais cela ne fonctionne pas:

scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop 

Je pense que le chemin pour la machine Windows est faux. S'il vous plaît, aidez-moi car je me suis cogné la tête sur un grand nombre de forums mais aucun ne semble donner le chemin correct pour le serveur Windows. Ne suggérez pas d'autres options telles que WinScp

37
user1344963

Téléchargez pscp à partir de page de téléchargement de PuTTY , puis utilisez-le à partir de la machine Windows CMD comme ceci:

pscp username_linux_machine@ip_of_linux_machine:/home/ubuntu/myfile.ext C:\Users\Name\Downloads

Il vous demandera le mot de passe d'utilisateur de la machine Linux, puis fera la copie pour vous.

50
Hesham Eraqi

Essayez ceci, ça marche vraiment.

$ scp username@from_Host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop

Et pour copier tous les fichiers

$ scp -r username@from_Host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop

Windows ne supporte pas SSH/SCP/SFTP en natif. Exécutez-vous une application serveur SSH sur ce serveur Windows? Si tel est le cas, l’une des options de configuration est probablement celle où se trouve la racine. Vous devez spécifier les chemins relatifs à cette racine. Dans tous les cas, consultez la documentation de l'application serveur SSH que vous exécutez sous Windows.

Vous pouvez également utiliser smbclient pour envoyer le fichier à un partage Windows.

6
theglauber

Celui-ci a fonctionné pour moi.

scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop 
6
emoblazz

IMHO, vous utiliseriez quelque chose comme ce qui suit

scp -r username_Linuxmachine@LinuxMachineAddress:Path/To/File .

Le.copiera la File dans le répertoire local par défaut de votre programme . Par exemple, en utilisant GitBash, cela enregistre le fichier dans mon dossier de travail configuré sous le lecteur D :.

3
Atif Raza

Accès depuis la console Windows via Git Bash:

scp root@ip:/etc/../your-file "C:\Users\XXX\Download"
1
byteprom

Votre code ne fonctionne pas car c:/ou d:/est totalement faux pour linux utilisez simplement/mnt/c ou/mnt/c

Depuis votre Windows 10-Ubuntu bash local, utilisez cette commande:

pour le téléchargement: (à partir du dossier de votre serveur distant vers d:/ubuntu):

scp username@ipaddress:/folder/file.txt /mnt/d/ubuntu

Puis tapez le mot de passe de votre serveur distant si nécessaire.

pour le téléchargement: (de d:/ubuntu vers le serveur distant):

scp /mnt/d/ubuntu/file.txt username@ipaddress:/folder/file.txt 

Puis tapez le mot de passe de votre serveur distant s’il y a un besoin . Note: j’ai testé et cela a fonctionné.

1
Baris Vvolf

Pour tous, qui a complètement installé GiT avec "Git Bash": Vous pouvez simplement écrire:

scp login@ip_addres:/location/to/folders/file.tar .

(avec espace et point à la fin pour copier à l'emplacement actuel). Ensuite, ajoutez simplement un certificat (y), écrivez un mot de passe et c'est tout.

0

Voici la solution pour copier des fichiers de Linux vers Windows en utilisant SCP sans mot de passe avec ssh:

  1. Installez sshpass sur une machine Linux pour ignorer le mot de passe

  2. Scénario

    sshpass -p 'xxxxxxx' scp /home/user1/*.* [email protected]:/d/test/

Détails:

sshpass -p 'password' scp /source_path/*.* windowsusername@windowsMachine_ip:/destination_drive/subfolder/
0
Ramarajan Jothi

Je devais utiliser pscp comme ci-dessus dans le message de Hesham une fois que j'ai téléchargé et installé PuTTY. Je l'ai fait à Windows à partir de Linux sur Windows, alors j'ai entré ce qui suit:

c:\ssl> pscp nom d'utilisateur @ linuxserver: keenan/ssl/*.

Cela copiera tout le contenu du dossier keenan/ssl dans le dossier local (.) À partir duquel vous avez exécuté cette commande (c:\ssl). Le keenan/ssl spécifie le dossier de base de l'utilisateur nom d'utilisateur. Par exemple, le chemin complet serait/home/nom d'utilisateur/keenan/ssl. Vous pouvez spécifier un autre dossier à l'aide d'une barre oblique (/), telle que 

c:\ssl> pscp nom_utilisateur @ linuxserver:/home/nom_utilisateur/keenan/ssl/*.

Vous pouvez donc spécifier n’importe quel dossier à la racine de Linux en utilisant: /

Keenan

0
Keenan Stewart