Nastavení reverzního tunelu sestaveného směrem od klienta k serveru. V mém případě server OpenBSD a klient RPi s Linuxem.

Server:

vytvořit uživatele pro SSH klienta s shellem /sbin/nologin

uložit RSA klíč z klienta do authorized_keys (návod provygenerování a přenesení zde)

nastavit /etc/ssh/sshd_config:

AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
ClientAliveInterval 15
  # zasílání keepalive packetů každých 15 sec
ClientAliveCountMax 40  # počet ztracených zpráv při přerušení spojení po dobu 10 minut

 

Klient:

pomocí SSH:
ssh -M 0 -f -R 40022:localhost:22 -N username@ip_serveru

lépe pomocí autossh (hlídá si otevření vlastního tunelu):
autossh -M 0 -f -R 40022:localhost:22 -N username@ip_serveru

  • -M 0  - vypne interní monitoring spojení
  • -M 31000 - zapnutí monitoringu přes port 31000 pro přesměrování a zpětnou odezvu 31001
  • -N - nespouští na vzxdáleném stroji žádné příkazy
  • -f - spuštění na pozadí