Comment accéder à un Serveur Distant À l’aide d’un hôte de saut

Un hôte de saut (également appelé serveur de saut) est un hôte intermédiaire ou une passerelle SSH vers un réseau distant, à travers lequel une connexion peut être établie à un autre hôte dans une zone de sécurité différente, par exemple une zone démilitarisée (DMZ). Il relie deux zones de sécurité différentes et offre un accès contrôlé entre elles.

Un hôte jump doit être hautement sécurisé et surveillé, en particulier lorsqu’il s’étend sur un réseau privé et une zone démilitarisée avec des serveurs fournissant des services aux utilisateurs sur Internet.

Un scénario classique consiste à se connecter à partir de votre ordinateur de bureau ou de votre ordinateur portable depuis le réseau interne de votre entreprise, qui est hautement sécurisé avec des pare-feu à une zone démilitarisée. Afin de gérer facilement un serveur dans une DMZ, vous pouvez y accéder via un hôte jump.

Dans cet article, nous allons montrer comment accéder à un serveur Linux distant via un hôte jump et nous allons également configurer les paramètres nécessaires dans vos configurations de client SSH par utilisateur.

Considérez le scénario suivant.

 Hôte de saut SSH
Hôte de saut SSH

Dans le scénario ci-dessus, vous souhaitez vous connecter à l’HÔTE 2, mais vous devez passer par l’HÔTE 1, en raison du pare-feu, du routage et des privilèges d’accès. Il y a un certain nombre de raisons valables pour lesquelles les jumphosts sont nécessaires..

Liste dynamique de Jumphost

Le moyen le plus simple de se connecter à un serveur cible via un hôte de jump consiste à utiliser l’indicateur -J de la ligne de commande. Cela indique à ssh d’établir une connexion à l’hôte de saut, puis d’établir un transfert TCP vers le serveur cible, à partir de là (assurez-vous d’avoir une connexion SSH sans mot de passe entre les machines).

$ ssh -J host1 host2

Si les noms d’utilisateur ou les ports sur les machines diffèrent, spécifiez-les sur le terminal comme indiqué.

$ ssh -J username@host1:port username@host2:port 

Liste de plusieurs Jumphosts

La même syntaxe peut être utilisée pour effectuer des sauts sur plusieurs serveurs.

$ ssh -J username@host1:port,username@host2:port username@host3:port

Liste de Jumphost statique

La liste de jumphost statique signifie que vous connaissez le ou les jumphost dont vous avez besoin pour connecter une machine. Par conséquent, vous devez ajouter le ‘routage’ statique suivant de jumphost dans le fichier ~/.ssh/config et spécifier les alias d’hôte comme indiqué.

### First jumphost. Directly reachableHost vps1 HostName vps1.example.org### Host to jump to via jumphost1.example.orgHost contabo HostName contabo.example.org ProxyJump contabo

Essayez maintenant de vous connecter à un serveur cible via un hôte de jump comme indiqué.

$ ssh -J vps1 contabo
 Connectez-vous à l'hôte cible via Jumphost
Connectez-vous à l’hôte cible via Jumphost

La deuxième méthode consiste à utiliser l’option ProxyCommand pour ajouter la configuration jumphost dans votre fichier ~.ssh/config ou $HOME/.ssh/config comme indiqué.

Dans cet exemple, l’hôte cible est contabo et le jumphost est vps1.

Host vps1HostName vps1.example.orgIdentityFile ~/.ssh/vps1.pemUser ec2-userHost contaboHostName contabo.example.orgIdentityFile ~/.ssh/contabovpsPort 22User adminProxy Command ssh -q -W %h:%p vps1

Où la commande Proxy Command ssh -q -W %h:%p vps1, signifie exécuter ssh en mode silencieux (en utilisant -q) et en mode de transfert stdio (en utilisant -W), rediriger la connexion via un hôte intermédiaire (vps1).

Essayez ensuite d’accéder à votre hôte cible comme indiqué.

$ ssh contabo

La commande ci-dessus ouvrira d’abord une connexion ssh à vps1 en arrière-plan effectuée par la commande mandataire, puis démarrera la session ssh vers le serveur cible contabo.

Pour plus d’informations, consultez la page de manuel ssh ou reportez-vous à : OpenSSH/Cookbxook/Proxies and Jump Hosts.

C’est tout pour l’instant! Dans cet article, nous avons démontré comment accéder à un serveur distant via un hôte jump. Utilisez le formulaire de commentaires ci-dessous pour poser des questions ou partager vos réflexions avec nous.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.