Bref : dans ce guide, nous montrons comment utiliser les commandes SSH ProxyJump et SSH ProxyCommand lors de la connexion à un serveur de saut.
Dans notre guide précédent sur la configuration d’un serveur de saut SSH, nous avons abordé le concept d’un Hôte Bastion. UN Hôte du bastion ou un Serveur de saut est un périphérique intermédiaire auquel un client SSH se connecte avant d’accéder au système Linux distant cible. Un Saut SSH serveur agit comme une passerelle vers vos ressources informatiques, réduisant ainsi la surface d’attaque.
La ProxyJump SSH et ProxyCommand Les commandes déterminent comment un client se connecte au serveur distant via le serveur de saut, hôte de sautou serveur bastion.
Ce guide met en lumière les ProxyJump SSH et Commande proxy SSH sous Linux.
Connectez Linux à distance à l’aide de la commande SSH ProxyJump
La ProxyJump la commande est désignée par le -J
drapeau. Il a été introduit dans la version 7.3 du serveur OpenSSH et vous aide à vous connecter à une cible distante en passant par un bastion ou un serveur de saut.
La syntaxe ci-dessous montre comment cette option est utilisée :
$ ssh -J <jump-server> <remote-target>
Dans le cas de plusieurs serveurs bastion ou jump, la syntaxe prend le format suivant.
$ ssh -J <jump-server-1> <jump-server-2> <remote-target>
Dans les deux cas, vous serez connecté en tant qu’utilisateur root à chaque étape du processus. Ce n’est pas idéal pour des raisons de sécurité, vous pouvez donc créer des utilisateurs différents dans chaque instance.
Vous pouvez spécifier explicitement différents utilisateurs et ports SSH, comme indiqué.
$ ssh -J <[email protected]:port> <[email protected]:port>
Pour démontrer la ProxyJump drapeau en action, nous avons une configuration simple comme indiqué.
Jump Server IP: 173.82.232.55 User: james Remote Target IP: 173.82.227.89 User: tecmint
Pour se connecter à la cible distante à l’aide de Saut serveur, la commande se présentera comme suit.
$ ssh -J [email protected] [email protected]
La commande vous demandera le mot de passe utilisateur du serveur de saut, suivi ensuite du mot de passe du système cible sur lequel vous aurez accès au système cible.
Configuration des hôtes proxy dans le fichier ~/.ssh/config
Si vous utilisez régulièrement un bastion spécifique pour vous connecter à une cible distante spécifique, vous pouvez ajouter les éléments suivants ProxyJump configuration dans le ~/.ssh/config fichier pour rendre la connexion transparente. Lorsque cela se produit, vous ne serez authentifié qu’une seule fois et cela ne se produit que sur la cible distante.
Host host-jump User james Hostname 173.82.232.55 Host host_destination User tecmint Hostname 173.82.227.89 Port 22
En utilisant la configuration ci-dessus, vous pouvez établir la connexion à la cible comme indiqué.
$ ssh -J host_destination
Connecter Linux à distance à l’aide de la commande SSH ProxyCommand
Avant de Saut de proxy SSH, ProxyCommand était le seul moyen de sauter des hôtes pour atteindre la cible distante. Cela fonctionne en transmettant le stdin (entrée standard) et la sortie stdout (sortie standard) de la cible distante via le serveur de saut ou le bastion.
La ProxyCommand prend la syntaxe suivante.
$ ssh -o ProxyCommand="ssh -W %h:%p <jump server>" <remote target>
Ici le -W
au %h:%p
les arguments transmettent le stdin et vers l’hôte distant (%h)
et le port de l’hôte distant (%p)
.
Pour mettre la commande en action, voici à quoi ressemblerait notre commande
$ ssh -o ProxyCommand="ssh -W %h:%p 173.82.232.55" 173.82.227.89
Configuration de ProxyCommand dans le fichier ~/.ssh/config
Bien sûr, taper toute la commande est fastidieux et prend du temps. Pour éviter de taper une commande aussi longue, ajoutez les lignes de code suivantes à votre ~/.ssh/config dossier.
Host host-destination Hostname 173.82.227.89 ProxyCommand ssh -q -W %h:%p host-jump
Sauvegarder et quitter.
Il ne vous reste plus qu’à exécuter la commande suivante pour vous connecter au serveur distant.
$ ssh host-destination
Conclusion
Dans ce guide, nous avons montré comment ProxyJump et ProxyCommand les commandes fonctionnent. En général, ProxyJump apparaît comme une meilleure alternative à ProxyCommand et fournit un moyen plus simple et transparent de se connecter à une cible distante via un hôte de saut.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.
Nous sommes reconnaissants pour votre soutien sans fin.