web-dev-qa-db-fra.com

Transférer des fichiers de / vers la session Je suis connecté avec PuTTY

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?

59
blue-sky

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.

57
Guido Domenici
  • Cliquez sur le menu de démarrage.
  • Cliquez sur courir
  • Dans la zone ouverte, tapez cmd puis cliquez sur ok
  • A l'invite de commande, entrez:

    c:> pscp nom_fichier_source id_utilisateur @ nom_serveur:/chemin/nom_fichier_destination.

c:> pscp novembre 2012 [email protected]:/mydata/novembre2012.

  • Lorsque vous y êtes invité, entrez votre mot de passe pour le serveur.

Prendre plaisir

31

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.

14
corsiKa

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)

7
Martin Prikryl

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.

6
N1mr0d

S'il ne s'agit que d'un fichier, vous pouvez utiliser la procédure suivante (dans PuTTY):

  1. vi nomfichier.extension (ouvre un nouveau nom de fichier dans le dossier actif sur le serveur),
  2. copier + clic droit de la souris pendant que vous utilisez PuTTY (copier/coller),
  3. éditer et sauvegarder. => commandes de l'éditeur vi

Editer la permission du fichier avec la commande suivante: chmod u + x filename.extension

4
mggluscevic

Regardez ici:

http://web.archive.org/web/20170106202838/https://it.cornell.edu/services/managed_servers/howto/file_transfer/fileputty.cfm#puttytrans

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.

2
Fender

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"
2
Jon B

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

2
ÖMER TAŞCI

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

  1. Ouvrez l'invite de commande en tapant cmd

  2. 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)/"

  3. 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)/"

  4. 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"

  5. 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

1
alpha_989