Reprenons tout cela avec trois machines A, B et C. On veut un connexion ssh entre A et C en passant par B. Le serveur ssh de C ecoutant sur le port 2222 On fera alors ssh -L 1111:C:2222 B
puis ssh -p 1111 localhost
La connexion entre A et B se faisant par le port 22, celle entre B et C par le port 2222.
Deuxième remarque, modifier /etc/hosts n'est pas vraiement la solution à ce problème. Quitte à utiliser .ssh/config, autant le faire jusqu'au bout :
Host ithaque
User [utilisateur d'ithaque]
HostName localhost <-- ici on dit que ithaque est en realité localhost
Port [port local] <-- celui qu'on a ouvert avec ssh -L
..... (facultatif : HostKeyAlias, etc....)
Ainsi un "ssh ithaque" se connectera à localhost par le bon port.
Mieux encore, on peut éviter de créer un port local et directement arriver sur ithaque en utilisant l'option ProxyCommand de ssh et netcat :
Host ithaque
User [utilisateur ithaque]
Hostname ithaque <--- ou IP ithaque
Port [Port ssh ithaque]
ProxyCommand ssh -p [port ssh odyssee] odyssee nc %h %p
ssh ithaque se connectera à odyssee qui redirigera le flux vers ithaque grâce à netcat
(ces solutions marchent, mais je n'ai pas vérifié leurs syntaxes, il se peut donc qu'il y ait quelques erreurs. Pour les corrections et plus de détails : man ssh_config)
# petites rectifications et plus si affinités
Posté par mchanaud . En réponse au message [Web/Réseau] Connection ssh simplifiée à travers un tunnel. Évalué à 2.
ssh -L [port local]:[ip ithaque]:[port ssh ithaque] odyssee
Reprenons tout cela avec trois machines A, B et C. On veut un connexion ssh entre A et C en passant par B. Le serveur ssh de C ecoutant sur le port 2222 On fera alors
ssh -L 1111:C:2222 B
puis
ssh -p 1111 localhost
La connexion entre A et B se faisant par le port 22, celle entre B et C par le port 2222.
Deuxième remarque, modifier /etc/hosts n'est pas vraiement la solution à ce problème. Quitte à utiliser .ssh/config, autant le faire jusqu'au bout :
Host ithaque
User [utilisateur d'ithaque]
HostName localhost <-- ici on dit que ithaque est en realité localhost
Port [port local] <-- celui qu'on a ouvert avec ssh -L
..... (facultatif : HostKeyAlias, etc....)
Ainsi un "ssh ithaque" se connectera à localhost par le bon port.
Mieux encore, on peut éviter de créer un port local et directement arriver sur ithaque en utilisant l'option ProxyCommand de ssh et netcat :
Host ithaque
User [utilisateur ithaque]
Hostname ithaque <--- ou IP ithaque
Port [Port ssh ithaque]
ProxyCommand ssh -p [port ssh odyssee] odyssee nc %h %p
ssh ithaque se connectera à odyssee qui redirigera le flux vers ithaque grâce à netcat
(ces solutions marchent, mais je n'ai pas vérifié leurs syntaxes, il se peut donc qu'il y ait quelques erreurs. Pour les corrections et plus de détails : man ssh_config)