Des fois on en a besoin, lorsqu’on a pas encore fait les ouvertures de flux qui vont bien. J’ai trouvé un p’tit tuto qui marche bien ici
Je claque le code ici histoire de pas le perdre 😛
Create a template service file at `
<ini> [Unit] Description=Setup a secure tunnel to %I After=network.target [Service] Environment= »LOCAL_ADDR=localhost » EnvironmentFile=/etc/default/secure-tunnel@%i ExecStart=/usr/bin/ssh -NT -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L ${LOCAL_ADDR}:${LOCAL_PORT}:localhost:${REMOTE_PORT} ${TARGET} # Restart every >2 seconds to avoid StartLimitInterval failure RestartSec=5 Restart=always [Install] WantedBy=multi-user.target </ini>/etc/systemd/system/[email protected]`. The template parameter will correspond to the name of target host:We need a configuration file (inside `/etc/default`) for each target host we will be creating tunnels for. For example, let’s assume we want to tunnel to a host named `jupiter` (probably aliased in `/etc/hosts`). Create the file at `
<ini> TARGET=jupiter LOCAL_ADDR=0.0.0.0 LOCAL_PORT=20022 REMOTE_PORT=22 </ini>/etc/default/secure-tunnel@jupiter`:Note that for the above to work we need to have allready setup a password-less SSH login to target (e.g. by giving access to a non-protected private key).
Now we can start the service instance:
<bash> systemctl start [email protected] systemctl status [email protected] </bash>Or enable it, so it get’s started at boot time:
<bash> systemctl enable [email protected] </bash>
Pour forwarder un service d’une machine vers une autre il faut remplacer -L [...] par
[...] -R ${REMOTE_PORT}:localhost:${LOCAL_PORT} [...]
et ajouter
GatewayPorts yes
dans le /etc/ssh/sshd_config sur la machine distante pour autoriser SSH à pousser le port sur une autre interface que localhost
Du coup quand on fait un netstat ça marche 🙂
[root@myhost:~]# netstat -an |grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN tcp 0 0 :::8080 :::* LISTEN


Laisser un commentaire