2016-07-08 5 views
0

У меня есть 2 компьютера на linux (ubuntu like), оба находятся в разделенных локальных сетях (192.168.xxx.xxx).SSH подключается к удаленному в локальной сети

Я хотел бы подключиться через ssh к Linux2 из Linux1, но у него нет публичного IP-адреса.

У меня также есть общедоступный сервер (srv.domain.com) Я полагаю, что оба ПК могли подключиться к серверу, и он сможет пересылать команды?

Но я не могу понять, как это сделать. Кто-то уже сделал что-то подобное и может объяснить это мне.

У меня есть доступ к корневой на всех машинах

Спасибо большое за вашу помощь !!!

+1

Ваш вопрос не в программировании, так что это не по теме для StackOverflow. Тем не менее, [этот ответ] (http://unix.stackexchange.com/a/46271/13377) может помочь пролить свет на то, как работают туннели, и где вы подключаетесь к чему. – ghoti

ответ

0

Простейшим способом было бы сделать межсетевой экран/маршрутизатор разрешать ssh-соединения между хостами. Но есть еще один способ:

Если ваш сервер может достигать обоих клиентов, вы можете SSH на сервер и перенаправить порт к SSH на другой машине:

ssh -L 1234:CLIENT2:22 -l USERNAME SERVERNAME 

после входа в машину открытой другое окно терминала и введите:

ssh -l USERNAME -p 1234 localhost 
  • USERNAME следует заменить имя пользователя на/второй клиента сервера.
  • CLIENT2 следует заменить на ip или имя хоста второго клиента .
  • SERVERNAME следует заменить на имя вашего сервера .

Вы также можете SSH на сервер и открыть другой сеанс SSH оттуда. Но это было бы легко;)


Если ваш сервер не может достичь клиентов вы должны построить тоннель наоборот:

ssh -R 1234:22 -l USERNAME SERVERNAME 

после входа в машину открыть окно терминала на другой машине и введите:

ssh -l USERNAME -p 1234 SERVERNAME 
  • USERNAME следует заменить имя пользователя на сервере/второй клиент.
  • SERVERNAME следует заменить на имя вашего сервера .
Смежные вопросы