
Я работаю в сети, которая блокирует некоторые порты с высоким разрешением, что не позволяет мне подключаться по SSH к моей машине Windows в домашней сети с моего Mac. Обычно я использую следующую команду для установки туннеля, по которому я подключаюсь к клиенту удаленного рабочего стола в OS X.
ssh -p 22601 -L3389:Windows:3389 user@Ubuntu1 -N
В данном случае у меня есть 2 машины:
- Сервер A: Ubuntu1 (порт 22601)
- Сервер B: Windows (порт 3389)
Чтобы обойти блокировку порта 22601 в моей текущей сети, я могу проложить туннель через другую машину. Назовем ее Ubuntu2, и у нее есть SSH-сервер, работающий на порту 22. Я попробовал несколько комбинаций, но, похоже, не могу заставить это соединение работать. У меня одинаковый доступ к открытому ключу SSH для Ubuntu 1 и 2. Во всех случаях я использую одно и то же имя пользователя.
Какую командную строку мне следует выполнить, чтобы сделать это, и нужно ли мне что-то еще делать в конфигурации SSHd в Ubuntu2?
решение1
Взгляните на следующее:
http://blog.allanglesit.com/2011/11/ssh-hop-through-multiple-hosts/
Объединение их вместе с соответствующими номерами портов должно решить проблему.
В качестве альтернативы вы можете использовать ProxyCommand, чтобы сделать его более прозрачным: