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:
[email protected]:~$ 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.