Comment transférer un fichier sur mon serveur à l'aide de PuTTY?

16

lorsque j'appelle SCP dans PuTTY sur ma boîte Win7, cela ne me permet pas d'utiliser C: /, mais je n'ai également aucune idée sur ma machine locale il recherchera les fichiers par défaut. Aucun répertoire de programme ou répertoire utilisateur n'a fonctionné. Par exemple, j'ai enregistré file.txt à côté de PuTTY.exe, ainsi que dans C: \ Users \ Me, mais l'appel à SCP file.txt file.txt dans PuTTY a échoué les deux fois avec

cp: ne peut pas stat 'file.txt'

Alors, comment puis-je transférer un fichier sur mon serveur à l'aide de PuTTY?

EDIT: En outre, l'appel SCP file.txt myserver:file.txtdonne une erreur similaire:file.txt: No such file or directory

Trindaz
la source
connaissez-vous le chemin complet de votre fichier.txt? faire SCP full-path-to-file.txt myserver:
Merci shadow_boi, mais c'est le problème: utiliser le chemin complet signifie y compris c: \, ce qui me donne l'erreur ssh: Impossible de résoudre le nom d'hôte c: Nom ou service
inconnu
2
Je suppose que vous vous êtes connecté au serveur en utilisant du mastic et que vous avez tapé le commentaire CP comme vous l'avez mentionné ci-dessus? Voilà le problème. Vous êtes maintenant sur le serveur, donc lorsque vous tapez C: le serveur n'a pas de lecteur c
1
Je ne pense pas que le mastic seul puisse faire le travail. WinSCP est un bel outil graphique pour la copie sécurisée des fichiers, Putty fonctionne très bien pour le travail en utilisant également l'outil de ligne de commande appelé pscp.
J'ai eu le problème d'utiliser pscp pour copier un fichier via un serveur intermédiaire. Cette question a été la base de ma détermination. Les instructions complètes pour faire passer cette question à l'étape suivante sont ici superuser.com/q/577663/57649
Scott

Réponses:

13

Avez-vous essayé quelque chose comme

pscp -l user1 c:\ftp\picture.jpg slacker1:/home/user1/pics

Le manuel de Putty suggère

Pour envoyer un (des) fichier (s) vers un serveur distant:

pscp [options] source [source...] [user@]host:target

Donc, pour copier le fichier local c:\documents\foo.txtsur le serveur en example.comtant qu'utilisateur fred dans le fichier, /tmp/foovous devez taper:

pscp c:\documents\foo.txt [email protected]:/tmp/foo


Postscript

La page de téléchargement de Putty vous permet de télécharger putty.zip- un ensemble complet d'outils Putty ou vous pouvez simplement télécharger les outils dont vous avez besoin (auquel cas vous pourriez avoir téléchargé putty.exe mais pas encore téléchargé pscp.exe)

RedGrittyBrick
la source
1
J'ai installé du mastic. Je ne semble pas avoir pscp disponible dans le shell de mastic ou dans mon shell local. Pourriez-vous nous éclairer un peu plus? D'où exécutez-vous pscp? Acclamations
JonnyRaa
1
@JonnyLeeds: Je l'exécute dans une invite de commande Windows (cmd) à partir du répertoire d'installation de Putty, par exemple C:\Program Files (x86)\PuTTY\pscp.exedans mon cas. Vous pouvez soit mettre le chemin complet entre guillemets (en raison des espaces qu'il contient) ou ajouter le répertoire à votre% PATH% (voir les autres réponses ici pour savoir comment faire).
RedGrittyBrick
1
Salut merci pour la réponse mais tout ce que j'ai dans mon dossier putty est putty.exe, puttygen.exe et un fichier
ppk
1
@JonnyLeeds: vous pouvez télécharger uniquement pscp.exe à partir de chiark.greenend.org.uk/~sgtatham/putty/download.html ou télécharger un putty.zip contenant un ensemble complet et cohérent de la dernière version des outils Putty et remplacer le ensemble clairsemé que vous avez.
RedGrittyBrick
Très bonne réponse. Encore une petite friandise: vous pouvez souvent utiliser un point après les deux points de l'emplacement distant si vous ne savez pas où vous voulez que le fichier aille. Par exemple: pscp -l nom d'utilisateur C: \ dir \ file.txt serveur :.
TOOGAM
6

Une solution qui n'utilise pas PuTTY: Connectez-vous au serveur avec FileZilla en utilisant SFTP pour transférer des fichiers.

Trindaz
la source
5

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

Bien que les versions récentes de PuTTY prennent en charge le partage de connexion.

Bien que vous ayez encore besoin d'exécuter un client de transfert de fichiers compatible (le pscpou le psftp), aucune nouvelle connexion n'est requise, il utilise automatiquement (s'il est activé) une session PuTTY existante.

Pour activer le partage, voir:
Partager une connexion SSH entre les outils PuTTY .


Une autre méthode consiste à utiliser WinSCP, un client GUI SFTP / SCP . Pendant que vous parcourez le site distant, vous pouvez à tout moment ouvrir un terminal SSH sur le même site à l'aide de la commande Ouvrir dans PuTTY .

Voir Session d'ouverture dans PuTTY .

Avec une configuration supplémentaire, vous pouvez même faire en sorte que PuTTY navigue automatiquement vers le même répertoire que vous parcourez avec WinSCP.

Voir Ouverture de PuTTY dans le même répertoire .

(Je suis l'auteur de WinSCP)

Martin Prikryl
la source
0

Je n'ai pas pu trouver pscp comme suggéré ci-dessus et j'ai fini par utiliser WinScp.

C'est un programme côté client avec une interface graphique qui récupère vos configurations de mastic.

JonnyRaa
la source
chiark.greenend.org.uk/~sgtatham/putty/download.html propose pscp.exe et le fichier psftp.exe similaire. Le the.earth.li/~sgtatham/putty/latest/x86/... (pour la version 0.63, qui est la dernière version au moment de cette écriture) peut être plus simple pour les personnes qui préfèrent être marchèrent à travers un processus d'installation facile en utilisant un GUI, tandis que le fichier putty.zip contient également putty.exe et pscp.exe et psftp.exe
TOOGAM
0
  1. Dans PSFTP, ouvrez le dossier dans lequel vous souhaitez placer le fichier.
    Ex. nom de fichier cd
  2. Dans la ligne de commande, tapez: lcd pathtofolder
    Ex. lcd C: \ Users \ Lyn \ Pictures
  3. Cliquez sur Entrée et tapez: mettre le nom de fichier
    Ex. mettre lynhw1.pdf
  4. Cliquez sur Entrée et le fichier doit être transféré

J'espère que cela fonctionne pour vous comme pour moi.
Remarque: je l'ai fait dans PSFTP en utilisant Putty.

"PSFTP, le client PuTTY SFTP, est un outil pour transférer des fichiers en toute sécurité entre ordinateurs à l'aide d'une connexion SSH" - http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

Téléchargez PSFTP sur la page Web http://www.putty.org/ . Sous téléchargement de mastic ici.

Lyn
la source
-2

Si vous souhaitez automatiser ce type de transfert de fichiers via .bat:

@echo off

set pw=foobemcfoobar

set inp=input.lst

for /F "tokens=*" %%i in (%inp%) do (

echo %%i

echo y | C:\tmp\pscp.exe -C -agent -pw "%pw%" C:\tmp\files\foo.txt root@%%i:/tmp/

echo "=== Accepting SSH, copying ...==="

 )

(où input.lstest un fichier texte avec les cibles répertoriées)

Nin Kan
la source
Bien que cela soit peut-être pertinent pour le sujet , cela ne répond pas à la question.
Je dis Réintégrer Monica
Ne suggérez pas non plus aux gens d'accepter aveuglément une clé d'hôte en utilisant echo y. Vous perdez ainsi la sécurité.
Martin Prikryl
mhh d'accord, "l'écho y" est un problème de sécurité. en ce qui concerne la pertinence, j'ai juste poussé cette copie de fichier un peu plus loin parce que j'étais une fois dans cette situation
Nin Kan