zainicjuj połączenie ssh z serwera do klienta


10

Możemy łatwo połączyć sshsię ze zdalną maszyną, która ma publiczny adres IP.

Ale teraz mam zdalną maszynę bez publicznego adresu IP i muszę połączyć się z nią z mojego komputera, który ma publiczny adres IP. Aby zdalny komputer zainicjował to połączenie (dodaj klienta).

Potrzebuję tego, ponieważ na komputerze jest mój dziadek bez publicznego adresu IP i czasami potrzebuje pomocy w swoim systemie.

W podobnej sytuacji w systemie Windows użyłem połączenia VNC (przez TightVNC), serwer TightVNC ma opcję „Dodaj klienta”: użytkownik właśnie wprowadził adres IP klienta (tj. Mój publiczny adres IP), mój klient jest już w „trybie nasłuchiwania”, i kiedy „serwer” dodaje klienta, połączenie jest inicjowane.

Czy można wykonać tę samą sztuczkę przy połączeniu SSH?

Odpowiedzi:


12

Z definicji klient inicjuje połączenie.

Jeśli chodzi o twój problem, myślę, że prostym rozwiązaniem byłoby zbudowanie tunelu zwrotnego.

Na komputerze bez publicznego adresu IP:

ssh -R 2222:localhost:22 loginOfServerWithPublicIP@publicIP

To łączy się z serwerem przez SSH i buduje tunel z serwera z publicznym adresem IP na porcie 2222 do komputera bez publicznego adresu IP na porcie 22 (SSH).

A potem na serwerze:

ssh -p 2222 loginOfComputerWithoutPublicIP@locahost

Połączenie jest przekierowywane z portu 2222 serwera do portu 22 komputera przez pierwszy tunel. Możesz użyć narzędzia, autosshktóre sprawi, że tunel będzie bardziej sprężysty (tj. Uruchom go ponownie automatycznie po wyłączeniu).


Dziękuję, bardzo przydatny i zwięzły. Zobacz odpowiedzi na to pytanie, aby uzyskać więcej informacji i inne przydatne opcje.
AstroFloyd
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.