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
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.
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.
Celui-ci a fonctionné pour moi.
scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop
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 :.
Accès depuis la console Windows via Git Bash:
scp root@ip:/etc/../your-file "C:\Users\XXX\Download"
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é.
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.
Voici la solution pour copier des fichiers de Linux vers Windows en utilisant SCP sans mot de passe avec ssh:
Installez sshpass sur une machine Linux pour ignorer le mot de passe
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/
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