Ssh: utiliser une passerelle pour atteindre une machine

 

L’accès à certaines infrastructures peut-être protégé avec un whitelisting par rapport à l’adresse IP source.

Disons que vous vous trouver sur une machine A, voulez accéder à un serveur C sur lequel seule la machine B est autorisée à se connecter.

Vous pouvez indiquer automatiquement à ssh que lorsque vous vous connectez à la machine C, il faut passer par la machine B.

Dans le .ssh/config de l’utilisateur de la machine A :

 

# Passerelle
Host machineB
    Hostname 192.168.42.101
    User charlybr
# machineC via machineB
Host machineC
    User ops
    Hostname 192.168.100.73
    Port 4225
    ProxyCommand ssh machineB nc %h %p

 

Ensuite en ligne de commande :

$ ssh machineC
 Last login: Sat Jan 16 11:17:56 2016 from xxx
 ops@machineC ~ 2016-01-16 11:19:30 0 0
 $ hostname
 machineC

Cela fonctionne pareil si vous devez faire des synchronisations de fichiers via rsync :

$ rsync -av images machineC:~/public_html/