Comment transférer un fichier entre deux serveurs distants en utilisant scp d'une machine locale tierce?
Je suis en train de copier un fichier d'un distance serveur une autre télécommande serveur à partir de mon local de la machine.
Voici ce que j'essaie de faire
localA $ scp userB@remoteB:/path/to/file userC@remoteC:/path
Le problème est que j'ai besoin de passer deux mots de passe pour les deux userB et userC sur les machines distantes.
Selon Garron ci-dessus devrait fonctionner, mais j'ai obtenu la permission refusée.
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).
lost connection
Des suggestions?
source d'informationauteur Alan
Vous devez vous connecter pour publier un commentaire.
Cette question existe déjà sur Superutilisateur:
https://superuser.com/questions/686394/scp-between-two-remote-hosts-from-my-third-pc
Comme expliqué -3 option indique scp pour acheminer le trafic à travers le PC sur lequel la commande est exécutée.
Ci-dessus est vraie si remote1 et remote2 sont sur le même réseau.
En cas:- Vous devez utiliser la redirection de port
Si vous pouvez utiliser le protocole ssh pour les deux serveurs distants à partir de votre local (local -> remote1 &- > remote2), alors vous pourriez essayer:
Ce transfert directement à partir de remote1 à remote2 à l'aide de vos informations d'identification locales.
Si vous ne voulez pas être demandé pour les mots de passe, vous devez ensuite définir le authorized_keys fichier sur les télécommandes.
Ceci est possible en utilisant la ligne de commande suivante dans le terminal linux :
scp -3 user1@ip:path/from/directory/user2@ip:path/to/directory
une invite apparaît pour vous demander des mots de passe comme ceci:
user1@ip du mot de passe: user2@ip du mot de passe:
Si vous donnez deux mots de passe dans la commande en appuyant sur entrée après le premier mot de passe, il doit accepter, mais il l'habitude. Même si vous donner à la fois les mots de passe de nouveau dans l'ordre, mais sans appuyer sur entrée après le premier mot de passe, il l'habitude d'accepter de nouveau.
Vous avez à donner user2 d'abord, et puis appuyez sur entrée, puis tapez user1 du mot de passe et appuyez sur entrée. Ce sera le travail.
Je sais qu'il ne faut pas les sons, mais seulement cela va fonctionner. C'est un bug en scp.
Vous avez seulement besoin de mots de passe si vous n'avez pas d'entrées dans le authorised_keys fichier. Une fois que vous avez ouvert une session dans les 2 serveurs (localA -> remoteB & remoteB -> remoteC) et a établi la connexion sécurisée votre commande d'origine devrait fonctionner.
Je trouve
-o "ForwardAgent yes”
fait le truc:J'aime mieux cela que la
-3
car je ne veux pas un moyen de la machine de ralentir les choses. J'aime @RubenCaro réponse trop, mais ce qui semble le plus direct.