Puis-je transférer des fichiers en utilisant SSH?


32

J'utilise PuTTY sur Windows 7 pour SSH dans mon laboratoire informatique de l'école. Puis-je transférer des fichiers de ma machine Windows vers mon utilisateur sur les machines scolaires à l'aide de SSH?


Je vote pour fermer cette question comme hors sujet car elle concerne Windows, pas Unix.
dr01

@ dr01 vrai mais il y a beaucoup de votes positifs donc ça vaut probablement la peine de partir pour la postérité et de passer à autre chose.
roaima

Réponses:


41

Utilisez l'outil PSCP à partir de la page de téléchargement de mastic:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PSCP est la version mastic de scp qui est une commande cp (copie) sur ssh.

PSCP doit être installé sur votre ordinateur Windows (juste téléchargé, vraiment, il n'y a pas de processus d'installation. Dans la section Fichiers compressés, pscp.exe est déjà inclus). Rien ne doit être installé sur les serveurs de l'école. PSCP et scp utilisent tous deux ssh pour se connecter.

Pour répondre à la question d'utilisation des commentaires:

Pour télécharger depuis votre ordinateur vers un serveur distant:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path

Cela téléchargera le fichier file.txt dans le répertoire spécifié sur le serveur. Si la dernière partie du chemin de destination n'est PAS un répertoire, ce sera le nouveau nom de fichier. Vous pouvez également le faire pour télécharger le fichier avec un nom différent:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt

Pour télécharger un fichier d'un serveur distant sur votre ordinateur:

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\

ou

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt

ou

c:\pscp user@remote:\home\user\some\file.txt .

Avec un seul point à la fin là-bas. Cela téléchargera le fichier spécifié dans le répertoire courant.

Puisque le commentaire est trop bas, je dois également souligner ici que WinSCP existe en fournissant une interface graphique pour tout cela, si cela vous intéresse: http://winscp.net/eng/download.php


Je ne peux rien installer sur les ordinateurs de l'université bien sûr. Est ce que j'ai besoin de?
Alex Mohr

La machine Windows 7 est-elle la vôtre ou celle de vos écoles? J'ai lu la question pour suggérer que vous utilisez du mastic sur votre ordinateur pour vous connecter à l'école. Si tel est le cas, vous n'avez pas besoin d'installer quoi que ce soit sur l'ordinateur de l'école, mais vous devrez le faire sur le vôtre.
SuperMagic

J'utilise ma machine Windows 7. Merci! J'ai trouvé la commande wget et j'ai utilisé dropbox pour transférer le fichier, mais je garderai cela à l'esprit
Alex Mohr

Une dernière chose: scp fonctionne dans les deux sens. Vous pouvez télécharger ainsi que télécharger avec elle.
SuperMagic

J'ai un peu de mal avec la syntaxe de la commande. Est-ce pscp source "path_to_local_file" user@host:path_to_new_location:? Je l'ai fait fonctionner en laissant le chemin sur la machine distante vide, il l'a juste mis dans mon répertoire racine.
Alex Mohr

6

Vous devrez peut-être utiliser des barres obliques (/) pour parler avec les serveurs LINUX / UNIX

c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path

3

Vous pouvez simplement lancer un grand nombre de fichiers avec tar:

tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'

... qui compresserait et diffuserait récursivement tous les fichiers du répertoire actuel sur la machine locale vers le chemin cible tout en décompressant et en développant simultanément le flux sur la machine distante.

Vous pouvez faire des choses similaires pour tout ce qui écrit sur stdout. catest un choix évident:

cat ./localfile | ssh user@remote 'cat >./remotefile'

1
Génial. Comment le faire dans Windows
Joe

@Joe - de la même manière? Peut <./localfile putty user@remote 'cat >./remotefile'- être - j'ai oublié tous les interrupteurs à mastic. Mais c'est assez proche
mikeserv

1
La version Windows / PuTTY serait: tapez localfile | plink user @ remote "cat> remotefile"
Adam Haun

2

Vous pouvez utiliser WinSCP pour cela. C'est beaucoup plus facile que les autres outils répertoriés, il fournit une interface utilisateur simple de glisser-déposer.


Pas clair quel rapport cela a avec la question posée. À moins que ce ne soit que le nom d'un programme client et que le reste soit indésirable.
Tom Hunt, le

Peut-être que la question a changé au fil du temps, mais c'est la réponse que je cherchais: c'est un programme avec une interface graphique qui peut parcourir et transférer des fichiers via ssh. Il importe même les paramètres de Putty. Très pratique à mon humble avis, je ne me souviens plus de son nom, thx
Emile Vrijdags

2

vous pouvez utiliser la commande Windows PowerShell:

scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>

-P l'indicateur peut être omis si ssh est ouvert sur le port par défaut (22)

par exemple:

  • copie du fichier "ps.key" depuis l'hôte Windows via ssh
  • l'adresse cible est 192.168.88.242, ssh fonctionne sur le port 1688
  • le nom d'utilisateur cible est "pseudo"

commander:

scp -P 1688 "D:\MEGA\ps.key" nick@192.168.88.242:/home/nick/ps.key

Après cela, vous devez confirmer l'empreinte digitale de la clé cible (si vous ne vous êtes pas connecté à cet hôte via PowerShell auparavant) et saisir le mot de passe de l'utilisateur cible.

testé sur win10, ne nécessite aucune installation supplémentaire


Cela ne ressemble pas à une commande Powershell. Êtes-vous sûr qu'il ne scpprovient pas de la suite PuTTY?
roaima

@roaima OpenSSH est disponible en tant que partie facultative mais intégrée de Windows 10 depuis la mise à jour de Fall Creator (fin 2017) et a été installé par défaut depuis la mise à jour d'avril 2018. La scpcommande est incluse.
Bob Sammers

1
@BobSammers oh c'est vrai. (Le mien est masqué par une installation Cygwin.) Ce n'est cependant pas Powershell, dans un sens unifié. Ligne de commande certes, mais pas Powershell.
roaima

En fait, c'est la solution la plus simple, j'ai juste essayé avec PShell sur mon Windows et il ouvre un SSH sur RHEL, demande un mot de passe, copie le fichier et ferme. Et il fonctionne!
Raffaeu

0

Utilisez l'outil Beyond Compare si vous n'êtes pas un gourou de la ligne de commande. Beyond Compare est un outil de comparaison de dossiers et possède une interface utilisateur agréable et vous permet d'utiliser le fichier de clé privée SFTP et SSH pour différents environnements auxquels vous essayez de vous connecter. Voici le lien vers l'outil [ https://www.scootersoftware.com/ 3/10) 1


0

Puisque vous connaissez déjà le mastic. Je vous suggère de jeter un œil à https://mobaxterm.mobatek.net/ . MobaXterm a tout ce dont vous avez besoin pour travailler à distance sur Linux à partir d'un ordinateur Windows, ssh, sftp, scp, Xwindows sont tous inclus. C'est beaucoup mieux que du mastic, à mon avis.


Est-ce également gratuit (pour un usage non personnel); par exemple à SSH à un laboratoire informatique de l'école (comme dans la question)?
Pierre.Vriens

Oui. MobaXterm est gratuit même pour un usage commercial, sauf si vous devez enregistrer plus de 10 sessions. Je suis développeur de logiciels et la version gratuite fonctionne parfaitement pour mon travail. Pour le travail scolaire, allez-y.
Cen R.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.