Назад | Перейти на главную страницу

HTTPS SSH туннель

Хорошо, у меня есть веб-сервер, назовем его Сервер A, который предоставляет услуги через HTTPS. И у меня есть сервер шлюза SSH, назовем его Сервер B.

Из-за правил брандмауэра я не могу получить доступ к веб-службе сервера A со своего настольного компьютера с Linux. Поэтому для просмотра веб-службы я должен использовать SSH с перенаправлением X на сервер B и запустить firefox через туннель SSH. Сервер B может получить доступ к веб-службе сервера A, и поэтому он работает.

Мне интересно, можно ли создать туннель SSH между моим ПК и сервером B, который позволил бы мне получить доступ к службе на сервере A с помощью моего настольного веб-браузера, а не запускать firefox через туннель SSH.

Да, это возможно:

ssh -L 8443:serverA:443 -Nf [user@]<serverB>

Это позволит вам указать браузеру рабочего стола на порт 8443 и отправить его на порт 443 (порт HTTPS) на вашем сервере A. -Nf запустит сеанс в фоновом режиме и немедленно выйдет обратно на рабочий стол, не устанавливая фактический сеанс оболочки на сервере B.

Вам даже не требуется SSH Tunneling для доступа к web service в Server A. Ты можешь использовать Dynamic Port Forwarding

ssh -N -D 9000 user@server_b

и настройте свой веб-браузер для использования прокси-сервера SOCKS 127.0.0.1 и порт 9000