# Ssh tunnel ne fonctionne pas en service systemd

**URL:** <https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800>\
**Category:** Support Debian\
**Tags:** ssh, systemd\
**Created:** [Avril 8, 2024, 6:25 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800 "2024-04-08T06:25:27Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Avril 8, 2024, 6:25 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/1 "2024-04-08T06:25:27Z")

</div>

Bonjour à tous,

Sous Debian 11, je souhaite, pour la première fois, établir une connexion postgresql permanente entre 2 serveur via un tunnel ssh.

Ma commande ponctuelle fonctionne.

Mon service fonctionne sans erreur apparente (voir Edit à la fin) et pourtant je n’arrive pas à me connecter, le port local n’est pas ouvert!

Merci d’avance pour toute aide.

Pour information mon service : /etc/systemd/system/ssh-tunnel3.service

```
[Unit]
Description=ssh tunnel
Wants=network.target
After=network.target
StartLimitIntervalSec=5
StartLimitBurst=1

[Service]
# https://stackoverflow.com/questions/62604573/systemd-ssh-tunnel-service-failing-while-command-works-in-command-line
StandardInput=tty-force # 255 error si pas cette ligne - pas compris pourquoi !

Type=simple
ExecStart=/usr/bin/ssh admin@xxxxx.yy -4 -N -L 35432:localhost:5432
ExecStop=/usr/bin/ssh arh -O exit -R 35432:localhost:5432

TimeoutStartSec=10
TimeoutStopSec=10
Restart=always
RestartSec=10
 
User=admin

[Install]
WantedBy=multi-user.target

```

et  
systemctl status ssh-tunnel3  
● ssh-tunnel3.service - ssh tunnel  
Loaded: loaded (/etc/systemd/system/ssh-tunnel3.service; enabled; vendor preset: enabled)  
Active: active (running) since Mon 2024-04-08 08:14:53 CEST; 1min 59s ago  
Main PID: 1991402 (ssh)  
Tasks: 1 (limit: 9394)  
Memory: 988.0K  
CGroup: /system.slice/ssh-tunnel3.service  
└─1991402 /usr/bin/ssh admin@xxxxx.yy -4 -N -L 35432:localhost:5432

Edit :

En ajoutant : StandardOutput=journal+console  
J’ai un message dans ce journal :  
The unit ssh-tunnel3.service has entered the ‹&nbsp;failed&nbsp;› state with result ‹&nbsp;exit-code&nbsp;›

Reste à comprendre pourquoi?  
Et pourquoi le status est Ok?  
Et pourquoi ssh -v … , dans le service, n’envoie rien dans le journal ou à la console

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 8, 2024, 9:39 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/2 "2024-04-08T21:39:04Z")

</div>

tu utilise un compte (admin) pour la session ssh. Comment authentifies tu ce coimpte? via des clefs ou un mot der passe? Pour cette utilisation mieux vaut des clefs.

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Avril 9, 2024, 5:56 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/3 "2024-04-09T05:56:05Z")

</div>

J’utilise bien un compte avec clé.

J’ai pensé faire un wrapper autour de ssh pour au moins récupérer les infos de l’option -v et poursuivre mon analyse …

Ceci dit entre temps, j’ai configuré un openvpn et cela fonctionne (j’avais choisi un tunnel car je fonctionnais déjà comme ça en ponctuel et sur le papier c’était plus simple et suffisant).

Je ne ferme pas le post car il n’est pas résilu, mais je ne travaille plus dessus (pour l’instant)

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 9, 2024, 8:10 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/4 "2024-04-09T08:10:38Z")

</div>

Il faut que l’utilisation des clefs soient dans le service, sinon ca ne marche pas.

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Avril 9, 2024, 10:42 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/5 "2024-04-09T10:42:00Z")

</div>

Merci pour ce conseil, j’ai déjà essayé sans plus de succès :

ssh -i /home/admin/.ssh/id\_rsa …

Sachant qu’en direct je n’en ai pas besoin car la clé est dans l’agent du root.

Ma priorité, quand je me remettrai sur le sujet est de récupérer le retour d’erreur de la commande …

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 9, 2024, 11:14 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/6 "2024-04-09T11:14:47Z")

</div>

> [@PmGs](#):
>
> Sachant qu’en direct je n’en ai pas besoin car la clé est dans l’agent du root.

Effectivement, mais ça n’est pas possible avec un service systemd.  
Avec clefs:

```auto
ssh -N -L SPORT:IPLOCAL:DPORT -i KEYFILE user@server

```

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Avril 10, 2024, 10:07 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/7 "2024-04-10T22:07:52Z")

</div>

… et ne pas avoir sa clé protégée par une «&nbsp;passphrase&nbsp;» !

---

<div class="post-metadata">

**Author:** ![AnatomicJC](https://www.debian-fr.org/user_avatar/www.debian-fr.org/anatomicjc/32/3869_2.png) [@AnatomicJC](https://www.debian-fr.org/u/AnatomicJC)\
**Post date:** [Avril 11, 2024, 5:11 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/8 "2024-04-11T05:11:44Z")

</div>

J’ai à une époque bcp utilisé et abusé des tunnels ssh.  
Sur certains réseaux, la connexion ne tenait pas plus de quelques heures et était automatiquement coupée.  
C’est pourquoi j’utilisais autossh qui est fait pour ça et réinitialise la connexion en cas de coupure.

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Avril 11, 2024, 6:02 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/9 "2024-04-11T06:02:39Z")

</div>

Hello,

Merci pour l’info, cela servira toujours à un futur lecteur, de mon côté je reste maintenant sous openvpn.

Bonne journée.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 11, 2024, 8:36 UTC](https://www.debian-fr.org/t/ssh-tunnel-ne-fonctionne-pas-en-service-systemd/89800/10 "2024-04-11T08:36:43Z")

</div>

L’utilisation de tunnel SSH est en réponse à des problématiques particulières qui n’ont rien à voir avec un VPN.  
Par exemple, je l’utilise pour une `usbip`. Cette application partage un périphérique USB sur le réseau. Le problème c’est que ce n’est pas sécurisé. Donc je n’ouvre pas les flux et le tunnel relie en fait les deux interfaces `lo` du serveur et de l’ordinateur distant.  
Coté serveur: 127.0.0.1:PORT1  
Coté Client: 127.0.0.1:PORT2  
PORT1 et PORT2 peuvent être identiques.
