Comment accéder à un serveur distant à l'aide d'un hôte SSH Jump

Comment accéder à un serveur distant à l'aide d'un hôte SSH Jump

UN hôte de saut (également connu comme un 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 pose deux zones de sécurité différentes et offre un accès contrôlé entre eux.

UN hôte de saut devrait être fortement sécurisé et surveillé en particulier lorsqu'il s'étend sur un réseau privé et un Dmz avec des serveurs fournissant des services aux utilisateurs sur Internet.

Un scénario classique se connecte depuis votre bureau ou votre ordinateur portable depuis l'intérieur du réseau interne de votre entreprise, qui est très sécurisé avec des pare-feu à une DMZ. Afin de gérer facilement un serveur dans un DMZ, vous pouvez y accéder via un hôte de saut.

En un mot, un Shin ssh Le serveur est un serveur Linux qui est utilisé comme passerelle vers d'autres serveurs Linux sur un réseau privé sur le protocole SSH.

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

Table des matières

1
    • Configuration du serveur SSH Jump
  • Raisons de configurer un serveur de saut SSH
  • Comment créer un serveur de saut SSH simple
  • Liste de jumphost dynamique
  • Liste des sauthôtes multiples
  • Liste de jumphost statique
  • Rendre SSH Jump Server plus sécurisé

Configuration du serveur SSH Jump

Considérez le scénario suivant.

Hôte de saut ssh

Pour plus de clarté, ci-dessous est une configuration simple démontrant le rôle d'un serveur de saut SSH.

Configuration du serveur SSH Jump

Raisons de configurer un serveur de saut SSH

UN Saut Le serveur fournit une passerelle vers votre infrastructure et réduit la surface d'attaque potentielle à vos ressources. Il fournit également une gestion transparente des appareils ainsi qu'un point d'entrée unique à vos ressources.

Gardez à l'esprit que lorsque vous incorporez un serveur de saut dans votre infrastructure, assurez-vous que le serveur est durci, sinon il serait aussi bon que de ne pas en utiliser un. Nous y reviendrons plus tard dans ce tutoriel.

Comment créer un serveur de saut SSH simple

Laissez-nous maintenant nous concentrer sur la façon dont vous pouvez créer un simple Shin ssh serveur. Voici notre configuration simple.

  • IP d'origine: 105.68.76.85.
  • Jump Server IP (nous appellerons ce saut hôte): 173.82.232.55.
  • Destination ip (nous appellerons cet hôte_destation): 173.82.227.89.

Dans le scénario ci-dessus, vous souhaitez vous connecter à Hôte 2 (173.82.227.89), Mais tu dois passer par Hôte 1 (173.82.232.55), En raison des privilèges de pare-feu, de routage et d'accès. Il y a un certain nombre de raisons valables pour lesquelles des hôtes de saut sont nécessaires.

Liste de jumphost dynamique

Le moyen le plus simple de se connecter à un serveur cible via un hôte de saut utilise le -UN et -J drapeaux de la ligne de commande. Cela indique à SSH de établir une connexion à l'hôte Jump, puis d'établir un transfert TCP au serveur cible, à partir de là (assurez-vous que vous vous connectez à SSH sans mot de passe entre les machines).

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

Par exemple, dans notre configuration, nous avons appelé l'utilisateur James configuré sur le Serveur de saut et Tecmint configuré sur la destination ou le système cible.

La commande sera apparentée comme découle de la propriété intellectuelle d'origine.

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

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

Connecter le serveur à l'aide de l'hôte SSH Jump

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

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

Liste des sauthôts multiples

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

$ ssh -j [Protégé par e-mail]: port, [Protégé par e-mail]: port [Protégé par e-mail]: port 

Liste de jumphost statique

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

### First Jumphost. Hôte directement accessible vps1 Nom d'hôte vps1.exemple.org ### hôte pour sauter à via Jumphost1.exemple.hôte en org contabo Nom d'hôte contabo.exemple.org proxyjump vps1 

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

$ ssh -j vps1 contabo 
Connectez-vous pour cibler l'hôte via Jumphost

La deuxième méthode consiste à utiliser le Proxycommand option pour ajouter le bosser Configuration dans votre ~.ssh / config ou $ Home /.ssh / config fichier comme indiqué.

Dans cet exemple, l'hôte cible est contabo, et le bosser est vps1.

Hôte vps1 hostname vps1.exemple.org identité file ~ /.ssh / vps1.PEM User EC2-User Host Contabo Hostname Contabo.exemple.org identité file ~ /.SSH / CONTABOVPS PORT 22 Admin utilisateur Commande proxy ssh -q -w% h:% p vps1 

Enregistrer les modifications et quitter le fichier. Pour appliquer les modifications, redémarrez le démon ssh.

$ sudo systemctl redémarrer ssh 

Explorons les options utilisées dans le fichier de configuration:

  • -q - Cela signifie le mode silencieux. Il supprime les avertissements et les messages de diagnostic.
  • -W - Demandes que les entrées et les sorties standard sur le client soient transmises pour héberger sur le port sur le canal sécurisé.
  • % h - Spécifie l'hôte pour se connecter à.
  • % p - Spécifié le port pour se connecter sur l'hôte distant.

Pour 'saut'Au système de destination à partir de votre IP d'origine via le serveur Jump, exécutez simplement la commande suivante:

$ ssh contabo 

La commande ci-dessus ouvrira d'abord une connexion SSH à vps1 en arrière-plan affecté par le Proxycommand, Et par la suite, démarrez la session SSH sur le serveur cible contabo.

[Vous pourriez également aimer: comment connecter Linux distant via SSH proxyjump et proxyCommand]

Rendre SSH Jump Server plus sécurisé

L'une des façons de rendre cette configuration plus sécurisée est de copier la clé SSH publique du système d'origine au Serveur de saut, puis enfin vers le système cible, puis désactiver l'authentification du mot de passe. Consultez notre guide sur la façon d'activer l'authentification sans mot de passe SSH.

De plus, consultez les conseils de durcissement du serveur SSH.

Assurez-vous également qu'aucune donnée sensible n'est hébergée dans le Saut Le serveur, comme cela, pourrait entraîner une fuite d'identification d'accès telles que les noms d'utilisateur et les mots de passe conduisant à une violation à l'échelle du système.

Pour plus d'informations, consultez la page SSH Man ou référez-vous à: OpenSSH / COOKBXOOK / PROXIES ET ANTÉRIEURS SUPER.

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