Comment connecter Linux distant via SSH Proxyjump et ProxyCommand

Comment connecter Linux distant via SSH Proxyjump et ProxyCommand

Brief: Dans ce guide, nous dé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 création d'un serveur de saut SSH, nous avons couvert le concept de Bastion hôte. UN Bastion hôte ou un Serveur de saut est un périphérique intermédiaire auquel un client SSH connecte avant d'accéder au système Linux à distance cible. Un Shin ssh Le serveur agit comme une passerelle vers vos ressources informatiques, réduisant ainsi la surface d'attaque.

Le Proxyjump SSH et Proxycommand Commandes Déterminez comment un client se connecte au serveur distant via le serveur de saut, hôte de saut, ou serveur de bastion.

Ce guide jette les projecteurs sur le Proxyjump SSH et Commande proxy ssh en linux.

Table des matières

1
  • Connectez la commande à distance à l'aide de la commande SSH ProxyJump
    • Configuration des hôtes proxy dans le ~ /.fichier ssh / config
  • Connectez la commande à distance à l'aide de SSH ProxyCommand
    • Configuration proxyCommand dans le ~ /.fichier ssh / config
      • Conclusion

Connectez la commande à distance à l'aide de la commande SSH ProxyJump

Le Proxyjump la commande est indiquée avec le -J drapeau. Il a été introduit dans OpenSSH Server version 7.3 et vous aide à établir une connexion à une cible distante en passant dans un bastion ou un serveur de saut.

La syntaxe ci-dessous montre comment cette option est utilisée:

$ ssh -j   

Dans le cas de plusieurs serveurs de bastion ou de saut, la syntaxe prend le format suivant.

$ ssh -j    

Dans les deux cas, vous serez connecté en tant qu'utilisateur racine à chaque étape du chemin. Ce n'est pas idéal pour des raisons de sécurité, vous pouvez donc créer différents utilisateurs dans tous les cas.

Vous pouvez explicitement spécifier différents utilisateurs et ports SSH comme indiqué.

$ ssh -j <[email protected]:port> <[email protected]:port> 

Pour démontrer le Proxyjump drapeau en action, nous avons une configuration simple comme indiqué.

Jump Server Ip: 173.82.232.55 Utilisateur: James Remote Target IP: 173.82.227.89 Utilisateur: Tecmint 

Pour se connecter à la cible distante en utilisant le Saut serveur, la commande ressemblera comme suit.

$ ssh -j [e-mail protégé] [Protégé par e-mail] 

La commande vous invitera au mot de passe utilisateur du serveur Jump, puis suivi par la suite par le mot de passe du système cible sur lequel vous serez accès à l'accès au système cible.

Connectez Linux à l'aide de Jump Server

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 ce qui suit 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.

Utilisateur hôte de saut hôte 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 
SSH à Linux éloigné via Proxyjump

Connectez la commande à distance à l'aide de SSH ProxyCommand

Avant Saut de proxy ssh, Proxycommand était le seul moyen de sauter des hôtes pour atteindre la cible distante. Il fonctionne en transmettant le stdin (standard in) et stdout (standard out) de la cible distante via le serveur de saut ou le bastion.

Le Proxycommand prend la syntaxe suivante.

$ ssh -o proxyCommand = "ssh -w% h:% p"  

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, c'est à quoi ressemblerait notre commande

$ ssh -o proxyCommand = "ssh -w% h:% p 173.82.232.55 "173.82.227.89 
Connectez Linux à l'aide de ProxyCommand

Configuration proxyCommand dans le ~ /.fichier ssh / config

Bien sûr, taper l'ensemble du commandement est fastidieux et prend du temps. Pour éviter de taper une commande aussi longue, ajoutez les lignes de code suivantes à votre ~ /.ssh / config déposer.

Host-Destination Hostname 173.82.227.89 ProxyCommand SSH -Q -W% H:% P Host-Jump 

Sauvegarder et quitter.

Maintenant, tout ce que vous avez à faire est d'exécuter la commande suivante pour vous connecter au serveur distant.

$ ssh hôte-destation 

[Vous pourriez également aimer: comment sécuriser et durcir le serveur OpenSSH]

Conclusion

Dans ce guide, nous avons démontré comment Proxyjump et Proxycommand Les commandes fonctionnent. En général, Proxyjump se présente comme une meilleure alternative à Proxycommand et fournit un moyen plus facile et transparent de se connecter à une cible distante via un hôte de saut.