как подключиться по ssh к машине за брандмауэром? [дубликат]

Возможный дубликат:
SSH на компьютер, который затем будет SSH на другой компьютер

У меня есть 3 Linux-машины A, B и C.

Я могу ssh от A до B; От B к C, но не от A к C напрямую, потому что C находится за брандмауэром.

Есть ли способ напрямую передать ssh от A к C? Я слышал о туннелировании, но не знаю, как это сделать. У меня есть только права root в A, но не в B и C.

-1
задан 13 April 2017 в 15:14
2 ответа

Вы можете настроить SSH-туннель от B к C следующим образом:

ssh -L 50022:C:22 user@B

Где B и C - соответствующие адреса этих серверов. . Затем вы можете подключиться напрямую к C, используя туннелированный порт:

ssh -p 50022 user@localhost

В этом случае пользователь - это пользователь, под которым вы хотите подключиться к C. Соединение будет туннелировано через установленное соединение ssh. B будет подключаться к C и передавать трафик через прокси.

(Обратите внимание, что выбор порта 50022 произвольный; вы можете выбрать все, что не используется на вашем локальном компьютере.)

1
ответ дан 5 December 2019 в 19:34

Вы можете создать туннель от A к C через B.

От A:

ssh -fgN -L 2222:C:22 B

Приведенная выше команда запускает ssh в фоновом режиме. Он подключит вас к B, запустит туннель, прослушивающий A, localhost, на порту 2222, подключится к порту C 22.

Теперь на A вы можете ssh на C, используя порт 2222:

ssh -p 2222 localhost
1
ответ дан 5 December 2019 в 19:34

Теги

Похожие вопросы