106 votes

SSH de A à C en passant par B, en utilisant la clé privée de B

Je cherche un moyen simple de SSH à partir de ma machine locale, A, via un proxy, B, vers un hôte de destination, C. La clé privée qui va avec la clé publique sur C est sur B, et je ne peux pas mettre cette clé sur ma machine locale. Des conseils ?

De plus, j'aimerais pouvoir le faire en utilisant ~/.ssh/config.

Merci !

1voto

wcc526 Points 231
#!/usr/bin/env bash
target_host=10.121.77.16
target_port=22
target_user=vagrant

bastion_user=yourusername
bastion_host=10.23.85.245
bastion_port=32780

scp -P $target_port -o ProxyCommand="ssh -o 'ForwardAgent yes' $bastion_user@$bastion_host -p $bastion_port 'ssh-add ~/.ssh/*.rsa && nc %h %p'" /tmp/x.txt $target_user@$target_host:/tmp/

1voto

A faire :

ssh someuser@IP_D

de telle sorte que

A -> B-> C -> D où A est l'hôte sur lequel vous vous trouvez,

éditez votre ~/.ssh/config local comme ceci :

Host IP_D
  ProxyCommand ssh -o 'ForwardAgent yes' userX@IP_C 'ssh-add && nc %h %p'
Host IP_C
  ProxyCommand ssh -o 'ForwardAgent yes' userY@IP_B 'ssh-add && nc %h %p'

Cette réponse est basée sur la réponse choisie. J'ai dû déterminer comment les différents utilisateurs s'intègrent dans le scénario global.

Cela fonctionne pour moi. HTH.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X