Я хочу подключиться к своему компьютеру (локальному) за NAT через общедоступный сервер (общедоступный).
На локальном: ssh -g -R 8000: localhost: 22 пользователя @ public
Затем на публике: ssh -p 8000 user @ public Но я получаю сообщение об ошибке: соединение отклонено.
Когда я вхожу на общедоступный сервер, я могу убедиться, что туннель работает: ssh -p 8000 localhost, который открывает ssh на локальном компьютере.
Я неправильно подозреваю, что публичный сервер должен действовать как прозрачный прокси? Или как заставить его так работать.
Спасибо
Согласно руководству вы можете на общедоступном хосте установить опцию (в sshd_config
):
GatewayPorts yes
а затем попробуйте на месте
ssh -R *:8000:localhost:22 user@public
(обратите внимание на дополнительные *:
).
Если у вас нет доступа к публичным sshd_config
, вы можете сделать дополнительный порт вперед, например:
на локальном (lancomp): ssh -R 8001:localhost:22 user@public
на публике: ssh -g -L 8000:localhost:8001 user@lancomp
И для подключения извне, конечно, в обоих случаях: ssh -p 8000 user@public
Список на порту 8000 будет сделан только на адрес localhost общедоступного компьютера. Если вы хотите, чтобы он привязался к «настоящему» сетевому интерфейсу, вы можете попробовать -R public:8000:localhost:22
.