Monthly Archives: janvier 2014

Configuration pour rebond ssh (putty, winscp et .config linux)

Voici une configuration pour atteindre la machine B sachant que :

  • il n’existe pas d’accès direct à la machine B depuis l’extérieur
  • la machine B héberge un serveur ssh sur le port 22
  • la machine A dispose d’un accès sur l’extérieur via l’adresse public.no-ip.org
  • la machine A héberge un serveur ssh sur le port 443

rebonds_ssh

Putty

Dans le panel « session », le hostname est l’ip de la machine B vue depuis la machine A. De même pour le port qui est le port du serveur ssh vu depuis la machine A.

putty_session

Dans le panel proxy, le hostname est celui de la machine A vu depuis le client. Idem pour le port.
Commande dans l’input Telnet : C:\Program Files (x86)\PuTTY\plink.exe jerep6@%proxyhost -P %proxyport -agent -nc %host:%portputty_proxy

WinSCP

A l’instar de putty, le nom d’hôte et le port sont les configurations vues depuis la machine A.

winscp_session

Le panel proxy et identique à celui de putty, il représente la configuration de la machine A vue depuis le client.winscp_proxy

Commande dans l’input proxy local : C:\Program Files (x86)\PuTTY\plink.exe jerep6@%proxyhost -P %proxyport -agent -nc %host:%port

Linux

La solution retenue est d’utiliser ProxyCommand dans la configuration de SSH. Il faut que la machine hôte dispose de netcat.

Contenu du fichier ~/.ssh/config du poste client

Host machineA
  User jerep6
  Port 443
  HostName public.no-ip.org

Host machineB
  User jerep6
  ProxyCommand ssh -q svr nc -q0 %h 22

Commande de connexion : ssh machineB