ssh - service systemd tunnel inversé

Le but de cette doc est de décrire comment mettre en place un service systemd permettant l’établissement d’un tunnel ssh inversé.


Contexte


Prérequis


Mise en place service de tunnel ssh systemd sur « Client ssh »

Création du timer, fichier /etc/systemd/system/ssh-tunnel-inverse.service

[Unit]
Description=Tunnel inversé vers vp1
Wants=network-online.target
After=network-online.target network.target
Conflicts=shutdown.target
Before=shutdown.target

[Service]
ExecStart=ssh -g -N -T -o "ServerAliveInterval 10" -o StrictHostKeyChecking=no -o "ExitOnForwardFailure yes" -R 1234:localhost:22 -p 5678 utilisateur-inverse@serveur-ssh-inverse
KillMode=process
Restart=always
RestartSec=5s
Type=simple

[Install]
WantedBy=multi-user.target

Éléments à modifier :

Activation du service et vérification

Activation du service sur « Client ssh » et vérification

systemctl enable --now ssh-tunnel-inverse.service
systemctl is-active ssh-tunnel-inverse.service

Vérifications sur « Client ssh » et « Serveur ssh inversé »

ss -lptn # pour vérifier que les ports configurés sont bien à l'écoute

Connexion sur « Client ssh » via « Serveur ssh inversé » depuis « PC d’admin »

ssh -J utilisateur-tunnel@serveur-ssh-inverse:5678 -p 1234 utilisateur-client-ssh@localhost

Explications :