пересылать соединение другому? - PullRequest
1 голос
/ 05 апреля 2011

Мне нужно дважды по ssh получить удаленный доступ к моему рабочему компьютеру. Сначала я должен подключиться к локальному серверу ssh. Затем я должен SSH к моему локальному компьютеру (IP-адрес). Прямого пути нет. Есть ли способ, которым я могу просто войти в систему один раз, и это каким-то образом сделает соединение для меня? Я хочу сделать сценарий оболочки и использовать rsync для создания резервных копий в моем доме. Я считаю, что rsync может обрабатывать только одно соединение ssh. Кто-нибудь знает способ обойти это?

Ответы [ 2 ]

3 голосов
/ 06 апреля 2011

Вы хотите использовать опцию ProxyCommand ssh.Вот пример, который использует один компьютер для подключения к другому.

Вы можете добавить следующее в ваш файл ~ / .ssh / config .

Host viatunnel
  IdentityFile ~/.ssh/inside_server_rsa
  ProxyCommand ssh -i ~/.ssh/proxy_server_rsa user@gateway.mynetwork "nc inside.mynetwork 22"
  user myself

Этосначала подключится к user@gatwway.mynetwork и будет использовать его для подключения к myself@inside.mynetwork

Теперь введите: ssh viatunnel подключится с использованием этой конфигурации.

Строка ProxyCommand в основном запускает 'nc' на первом прыжке вашего соединения и устанавливает туннель к порту 22 на втором сервере.Тогда внешний ssh ​​использует это для подключения.

См. ProxyCommand здесь, в руководстве openssh

1 голос
/ 05 апреля 2011

Да, инструмент, который вы ищете, называется ProxyTunnel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...