J'ai une boîte de saut linux entre moi et un serveur distant. J'ai vu quelques messages sur la façon de le faire avec le scp (par exemple ici ), mais je suis sur une boîte Windows, donc la situation est légèrement différente. Je souhaite copier un fichier de ma machine Windows local, via une configuration de serveur comme passerelle entre les deux. Je devrais pouvoir faire un multi-hop à travers le serveur intermédiaire. Donc, quelque chose comme ça:
A -> B -> C
Je ne veux pas copier le fichier sur B, puis me connecter à B et copier le fichier à nouveau. J'aimerais pouvoir exécuter pscp sur plusieurs fichiers pour les copier.
J'ai trouvé que la meilleure façon de le faire est d'établir d'abord un tunnel sur le serveur intermédiaire (serveur B dans l'illustration). Ensuite, pscp sur ce lien. Je vais parcourir exactement ce que j'ai fait.
1) Créer une connexion SSH à serverB dans PuTTY
2) Pour cette connexion, créez un tunnel qui passe du port 2222 (vous pouvez en choisir un autre si vous le souhaitez) au serveurC au port 22
3) Ouvrez une fenêtre de commande dans Windows. Accédez à où PuTTY / pscp est installé sur votre machine (si ce n'est déjà sur le chemin)
4) Entrez la commande suivante (en remplaçant vos valeurs par celles de {}):
C: \ putty> pscp -P 2222 -pw {myPasswordOnRemoteMachine} c: \ dev \ fileIWantToCopy.txt {myusername} @ 127.0.0.1: / tmp
5) Sur la machine distanteC, le fichier doit se trouver dans le répertoire / tmp
La solution la plus simple que j'ai trouvée à ce problème, était de ne pas utiliser pscp du tout. Utilisez simplement WinSCP pour copier le fichier.
Entrez votre adresse serveur finale (c.-à-d. Serveur 'C' dans la question) dans la page de session et sélectionnez SCP.
Cliquez sur 'Avancé …'. Accédez à Connexion> Tunnel. Entrez vos informations de serveur de sauts ici (c'est-à-dire Server 'B').
Maintenant, connectez-vous avec votre fichier clé ou votre mot de passe et vous serez accolé.
Ma situation encore plus compliquée: A -> B -> C -> D -> E
I used PuTTY and FileZilla A my Windows machine, B and C are gateways (very limited functionality) D is the first Linux Machine and E is the target Linux Machine I use PuTTY to: ssh into B (w/username password) (IP of B is predefined in PuTTY) then ssh into C (w/username password) then manually ssh into D (w/username password) then manually ssh into E (at least this uses pubic key login so no uid/password!) Once this is setup I then add tunnel to the IP of the final machine E in PuTTY thus: L7777 172.123.124.125:22 OK now fire up FileZilla: File > SiteManager: Setup new connection to: Host: 127.0.0.1 Port: 7777 Protocol SFTP Ask for password... Connect!