Je suis connecté à un hôte distant à l'aide de PuTTY.
Quelle est la commande pour transférer des fichiers de ma machine locale vers la machine à laquelle je suis connecté sur PuTTY?
Ce n'est probablement pas une réponse directe à ce que vous demandez, mais lorsque j'ai besoin de transférer des fichiers via une session SSH, j'utilise WinSCP , qui est un excellent programme de transfert de fichiers sur SCP ou SFTP. Bien sûr, cela suppose que vous êtes sous Windows.
c:> pscp nom_fichier_source id_utilisateur @ nom_serveur:/chemin/nom_fichier_destination.
c:> pscp novembre 2012 [email protected]:/mydata/novembre2012.
Prendre plaisir
PuTTY est généralement fourni avec un client appelé psftp que vous pouvez utiliser à cette fin. Je ne crois pas que vous puissiez le faire via le client standard de PuTTY (même si on peut me tromper à ce sujet).
PuTTY vous permet uniquement de manipuler la machine distante. Il ne fournit pas de lien direct entre les deux systèmes de fichiers, pas plus que de rester assis devant la machine distante.
Il n'y a aucun moyen de lancer un transfert de fichier vers/depuis Windows local à partir d'une session SSH ouverte dans la fenêtre de PuTTY.
Bien que PuTTY supporte le partage de connexion.
Même si vous devez toujours exécuter un client de transfert de fichier compatible (le pscp
ou psftp
), aucune nouvelle connexion n’est requise, elle utilise automatiquement (si elle est activée) une session PuTTY existante.
Pour activer le partage, voir:
Partage d'une connexion SSH entre des outils PuTTY .
Une autre solution consiste à utiliser WinSCP, un client SFI/SCP à interface graphique. Pendant que vous naviguez sur le site distant, vous pouvez à tout moment ouvrir un terminal SSH sur le même site en utilisant le bouton Ouvrir dans PuTTY .
Voir Session d'ouverture dans PuTTY .
Avec une configuration supplémentaire, vous pouvez même faire en sorte que PuTTY accède automatiquement au même répertoire que celui que vous parcourez avec WinSCP.
Voir Ouverture de PuTTY dans le même répertoire .
(je suis l'auteur de WinSCP)
Vous pouvez également télécharger psftp.exe à partir de:
http://www.chiark.greenend.org.uk/~sgtatham/PuTTY/download.html
Lorsque vous l'exécutez, vous tapez:
open "server name"
Ensuite:
put "file name"
(Tapez help pour obtenir une liste complète des commandes.)
Vous pouvez aussi taper get <file name>
pour télécharger des fichiers d’un ordinateur distant sur l’ordinateur local.
S'il ne s'agit que d'un fichier, vous pouvez utiliser la procédure suivante (dans PuTTY):
Editer la permission du fichier avec la commande suivante: chmod u + x filename.extension
Regardez ici:
Il recommande d'utiliser pscp.exe
de PuTTY, disponible ici: https://www.chiark.greenend.org.uk/~sgtatham/PuTTY/latest.html
Un transfert direct tel que FTP n'est pas possible car toutes les commandes de votre session sont envoyées au serveur.
Puisque vous avez demandé à propos de/de, voici une astuce qui fonctionne pour le "de" partie. Ouvrez l'écran "Modifier les paramètres ...", le terminal et sous "Imprimante à laquelle envoyer la sortie d'imprimante ANSI:", sélectionnez "Générique/Texte seulement".
Maintenant, sur le système distant, exécutez ceci sur une ligne:
tput mc5; cat whatever.txt; tput mc4
PuTTY vous informera que le fichier a été enregistré. Cela permet de mettre le terminal en mode imprimante (tput mc5), d’imprimer le fichier à l’écran (cat), puis de désactiver le mode imprimante (tput mc4). Si vous ne mettez pas toutes les commandes sur une seule ligne, l'écran apparaît figé car PuTTY enregistre toutes les sorties du terminal dans un fichier en arrière-plan.
Si vous êtes sur un système plus limité qui ne possède pas la commande tput (par exemple un qnap), vous pouvez essayer printf "\ x1b [5i" au lieu de tput mc5 et printf "\ x1b [4i" au lieu de tput mc4 .
La commande au milieu correspond à tout ce qui s’imprime à l’écran. Utilisez donc tail -n 10000 blah.log pour télécharger les 10 000 dernières lignes du fichier journal ou utilisez un encodeur base64 pour mapper un fichier binaire sur quelque chose que vous pouvez imprimer (puis décoder sur votre système local):
printf "\x1b[5i"; openssl enc -base64 -in something.Zip; printf "\x1b[4i"
Si vous devez effectuer une validation de clé privée; à l'invite de commande (cmd), exécutez
Première;
set PATH=C:\PuttySetupLocation
Seconde;
pscp -i C:/MyPrivateKeyFile.ppk C:/MySourceFile.jar [email protected]:/home/ubuntu
En outre, si vous avez besoin d'options supplémentaires, consultez le lien suivant. https://the.earth.li/~sgtatham/PuTTY/0.60/htmldoc/Chapter5.html
Transfert de fichiers avec PuTTY (pscp/plink.exe)
L'installation par défaut de PuTTY offre plusieurs méthodes pour transférer des fichiers. Il est fort probable que PuTTY
se trouve sur votre chemin par défaut. Vous pouvez donc appeler directement PuTTY
à partir de la commande Invite. Si ce n'est pas le cas, vous devrez peut-être modifier vos variables d'environnement. Voir les instructions ici: https://it.cornell.edu/managed-servers/transfer-files-using-putt
Pas
Ouvrez l'invite de commande en tapant cmd
Pour transférer des dossiers de votre ordinateur Windows vers un autre ordinateur Windows , utilisez (remarque l'indicateur -r
, qui indique que les fichiers seront transférés de manière récursive, inutile de les compresser): pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" [email protected]:/"C:/Program Files (x86)/"
Pour transférer des fichiers de votre ordinateur Windows vers un autre ordinateur Windows , utilisez: pscp -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" [email protected]:/"C:/Program Files (x86)/"
Parfois, vous ne pouvez avoir que plink
installé. plink
peut potentiellement être utilisé pour transférer des fichiers, mais il vaut mieux le limiter à de simples fichiers texte. Son comportement avec les fichiers binaires peut être inconnu ( https://superuser.com/questions/1289455/create-text-file-on-remote-machine-using-plink-PuTTY-with-contents- of-windows -lo ): plink -i C:/Users/username/.ssh/id_rsa.ppk user@Host <localfile "cat >hostfile"
Pour transférer des fichiers d'un serveur Linux sur un ordinateur Windows à un ordinateur Linux, utilisez pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" [email protected]:/home/username
Pour que tout cela fonctionne, vous devez disposer de la clé publique/privée appropriée. Pour générer cela pour PuTTY, voir: https://superuser.com/a/1285789/658319