GNU/Linux >> Tutoriels Linux >  >> Linux

Comment ssh via l'hôte (jumpserver) pour atteindre un autre serveur

Dans ce guide, nous apprendrons comment simplifier le processus en utilisant les options que le client ssh nous offre, y compris l'utilisation de la SSH ProxyCommand commande.

Contenu connexe :

  • SSH – Génération et utilisation des clés SSH

Le scénario SSH

Voici comment se déroule la configuration de ssh.

+--------------+       +------------+      +-----------+
| Local machine|   ->  | JumpServer | ->   | Dbserver  |
+--------------+       +------------+      +-----------+

Le serveur de base de données n'est accessible qu'en se connectant au serveur intermédiaire - Jump Server. Première connexion au jumpserver

ssh [email protected]

Ensuite, à partir du serveur de saut, nous pouvons nous connecter au serveur de base de données

ssh [email protected]

Utilisation de l'option -J pour les derniers clients ssh

Pour les derniers clients ssh, l'option -J vous permet de spécifier l'hôte à utiliser comme hôte de saut. C'est le format

ssh -J [email protected] [email protected]

Voici comment se connecter à la télécommande à l'aide d'un serveur de saut public

ssh -J [email protected] [email protected]

Si vous devez spécifier une clé ssh, utilisez ce format :

ssh -J [email protected] [email protected]  -i ~/.ssh/id_server_key

Utiliser ProxyCommand lorsque l'option -J n'est pas disponible

Dans les anciennes versions d'openssh, le -J n'est pas disponible. Utilisez donc la syntaxe suivante :

ssh -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]

C'est ainsi que j'utilise sur ma machine locale

ssh -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected] -i ~/.ssh/id_rsa

Pour les clients les plus anciens qui ne prennent pas en charge l'option -W

Dans ce cas, le ssh -tt commande. Au lieu de taper deux commandes ssh, je peux taper la commande tout-en-un suivante. Ceci est utile pour se connecter à un serveur de base de données distant via un pare-feu appelé jumpserver en tant qu'hôte de saut :

ssh -tt [email protected] ssh -tt [email protected]

Utilisation :

ssh -tt [email protected] ssh -tt [email protected] -i ~/.ssh/id_rsa

Où :

  • Le -t l'option passée à la commande ssh force l'allocation de pseudo-tty. Cela peut être utilisé pour exécuter des programmes arbitraires basés sur l'écran sur une machine distante. Plusieurs -tt les options forcent l'allocation de tty, même si ssh n'a pas de tty local.

Enregistrement de la configuration dans le fichier ~/.ssh/config

Vous pouvez définir les options de configuration dans le ~/.ssh/config dossier. Voici à quoi ressemblerait la configuration, nous spécifions la ProxyCommand :

Host dbserver
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh [email protected] -W %h:%p
    IdentityFile ~/.ssh/id_rsa

Vous pouvez également utiliser ProxyJump

Host dbserver
    Hostname 10.70.1.190
    User ubuntu
    ProxyJump [email protected]
    IdentityFile ~/.ssh/id_rsa

Vous pouvez également enchaîner récursivement plusieurs hôtes de saut :

Host jumpsrver
    Hostname 13.36.234.247
    User rocky


Host dbserver2
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh -W %h:%p jumpsrver
    IdentityFile ~/.ssh/id_rsa

Host dbserver3
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh -W %h:%p dbserver2
    IdentityFile ~/.ssh/id_rsa

Cela fera transiter par les autres hôtes

ssh dbserver3

Linux
  1. Comment SSH sur Linux à partir d'Android

  2. Comment configurer SSH sans mot de passe sous Linux

  3. Comment maintenir les sessions SSH en vie

  4. Comment ssh en tant qu'autre utilisateur

  5. Comment activer le transfert SSH X11 via un serveur supplémentaire ?

Comment héberger un site Web sur un serveur Web Apache

Comment utiliser SSH pour se connecter à un serveur distant

Comment ajouter une clé publique SSH au serveur

Comment configurer SSH sur CentOS et RHEL

Comment SSH au serveur via Linux

Comment sécuriser SSH avec Fail2Ban