mercredi 15 octobre 2008

SSH à travers un NAT

Une astuce SSH très utile, qui consiste à accéder à un serveur SSH situé derrière un NAT, sans avoir à utiliser de port forwarding.
Le principe consiste à utiliser un tunnel SSH, initialisé depuis la machine située derrière le NAT. Prenons un exemple un peu plus concret:
- vous êtes une machine A, avec une IP publique IP1, donc accessible directement sur Internet
- vous voulez accéder par SSH à une machine B, qui possède une IP privée (par exemple 192.168.0.5) et accède à Internet grâce à un serveur configuré en NAT.

Il vous suffit alors, depuis la machine B, de taper la commande suivante:
ssh -R 19999:localhost:22 username@IP1
En tapant cette commande, un tunnel SSH est créé entre la machine B et la machine A (le port 19999 est utilisé ici à titre d'exemple, vous pouvez utiliser n'importe quel numéro de port disponible).
Vous pouvez maintenant vous connecter par SSH à la machine B depuis la machine A, en utilisant le port 19999. Depuis la machine A:
ssh username@localhost -p 19999
La méthode a été testée et vous évitera de créer un VPN lorsque vous voulez simplement accéder à une machine par SSH.

Référence: http://howtoforge.com/reverse-ssh-tunneling

0 commentaires: