Iată o astfel de configurație de la unul dintre serverele pe care le întrețin. Configurația folosește serviciul systemd care este creat de partea clientului. De asemenea, folosește autossh, deci ca prim pas trebuie să-l instalăm.
sudo apt install autossh
Apoi creați fișierul de configurare SSH.
sudo nano /etc/ssh/ssh_config.d/auto-ssh-systemd-hosts.conf
Gazdă reverse.nume-server.com
Nume gazdă 192.168.1.199
IdentityFile /root/.ssh/server-name.com/id_rsa
Utilizator Utilizator
Portul 2222
LocalForward 22 127.0.0.1:2222
RemoteForward 2222 127.0.0.1:22
GatewayPorts da
Compresia da
- Rețineți că cheia SSH este posesia utilizatorului root, deoarece va fi proprietarul serviciului.
- Nu uitați să modificați parametrii Gazdă, Nume gazdă și IdentityFile.
- Aici se presupune că serverul ssh de la ambele sisteme ascultă portul personalizat 2222.
În această etapă ar trebui să fiți capabil să:
sudo ssh reverse.server-name.com # sau
sudo autossh reverse.server-name.com
În sfârșit creați serviciul.
sudo nano /etc/systemd/system/autossh-reverse-server-name.service
[Unitate]
Description=Păstrează deschis un tunel SSH către „server-name.com”.
După=network-online.target
[Serviciu]
Utilizator=rădăcină
ExecStart=/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" reverse.server-name.com
ExecStop=/usr/bin/killall -s KILL autossh
Restart=intotdeauna
RestartSec=3
[Instalare]
WantedBy=multi-user.target
- A inlocui server-name.com și invers.nume-server.com cu valorile reale.
Acum activați și porniți serviciul.
sudo systemctl daemon-reload
sudo systemctl enable autossh-reverse-server-name.service
sudo systemctl start autossh-reverse-server-name.service
Pentru a opri și a dezactiva serviciul.
sudo systemctl stop autossh-reverse-server-name.service
sudo systemctl dezactivează autossh-reverse-server-name.service
Puteți obține starea sau reporniți serviciul prin următoarele comenzi.
sudo systemctl status autossh-reverse-server-name.service
sudo systemctl restart autossh-reverse-server-name.service
Serviciul va fi repornit automat dacă se blochează. Pe de altă parte autossh îl va ține în viață mult mai mult decât ssh, deoarece detectează automat și eșecurile conexiunii.
Referinte:
Odată pornit serviciul, ar trebui să puteți:
user@server-name.com:~$ ssh localhost -p 22 # conectați-vă la mașina locală
user@local-machine:~$ ssh localhost -p 22 # conectați-vă la server-name.com
Desigur, va trebui să furnizați date corecte de autentificare comenzilor.