Dans le schéma ci-dessous:
- l'hôte A est accessible publiquement
- l'hôte B est accessible seulement à l'interne
Il existe plusieurs façons de faire, mais en voici 2.
-
Méthode bête et méchante du relais:
- Cette méthode consiste à se connecter par SSH sur l'hôte publique puis faire à nouveau SSH sur l'hôte privé. C'est simple et ça fonctionne plutôt bien, sauf pour les transferts de fichiers par SCP. En effet, pour les transferts de fichiers, on doit d'abord les copier temporairement sur l'hôte publique avant de les copier sur la destination finale (client ou hôte privé, selon le sens).
-
Méthode avec l'option ProxyCommand de SSH (clients Linux, Mac ou Cygwin - OpenSSH sous Windows)
-
Sur le client, éditer le fichier ~/.ssh/config
Host HôteB
ProxyCommand ssh HôteA -W HôteB:22 -
Lancer la connexion SSH sur l'hôte B
ssh HôteB
ou pour un transfert de fichier:
scp fichier HôteB:dossier_distant
-
Sur le client, éditer le fichier ~/.ssh/config