2

Я использую свой домашний компьютер для подключения к корпоративному серверу с помощью SSH, что-то вроде:

    ssh -p 2424 user@corporatehost.com

Затем я снова удаленно захожу на другой сервер в корпоративной сети:

    ssh internalcorporatehost

Могу ли я установить ssh-туннель, чтобы сделать это за один шаг, или есть ли другие способы сделать это?

2 ответа2

1

Настройте user@corporatehost.com в качестве прокси:

ssh -o 'ProxyCommand ssh -p 2424 user@corporatehost.com nc %h %p' internalcorporatehost

Лучше всего использовать псевдоним в ~/.ssh/config , поэтому вы можете просто набрать ssh ich:

Host ich
HostName internalcorporatehost
User user_name_on_internalcorporatehost
ProxyCommand ssh -p 2424 user@corporatehost.com nc %h %p

nc - это команда netcat , которая должна быть установлена на компьютере шлюза. Если он недоступен, установите любую из версий, которые вам нужны (вам нужна только базовая функциональность). Возможно, вам потребуется указать полный путь к двоичному файлу nc (например, /home/oleg/bin/nc).

Если ваш ssh-клиент - Putty, этот ответ в Stack Overflow должен помочь.

1

Очень простое решение - просто туннелировать команду SSH через другую команду SSH используя флаг -t .

ssh -p 2424 -t user@corporatehost.com  ssh internalcorporatehost

Делает это очень просто, и вам не нужно больше никаких настроек.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .