У меня есть 3 машины, которые соединены в цепочку, A, B, C.
A-->B-->C
A - моя машина, B - сервер, а C - другая машина с некоторыми службами и веб-сервером. Из-за некоторых проблем мне нужен доступ от A к веб-серверу на C (порт 80), я могу использовать ssh для входа с A на B, а затем с B на C, но консоль на данный момент слишком мала. Мне нужен веб-браузер, и я использую ssh с опцией -X
не сработало (некоторые проблемы с dbus при запуске Firefox).
Я делаю переадресацию портов на B, используя классическую команду для пересылки 22 порта для ssh:
ssh -L 2222:localhostB:22 user@ipC
но использование того же для перенаправления порта 80 не сработало:
ssh -L 8888:localhostB:80 user@ipC
Я знаю, что есть еще одна переадресация, чтобы это работало, но я не понимал, как и что.
Мне нужно что-то вроде этого:
A --> B (frd from B:8888 to C:80) --> C (port 80 web server)
поэтому, когда я набираю ipB: 8888, я буду перенаправлен на C: 80.
Любая помощь, как объяснение того, что должно быть сделано, или скрипты с командой будут оценены. Я заметил из одного блога, что это нужно сделать два раза ssh -L
переадресация выполнена, но я не понимаю почему.
Вы на правильном пути.
На:
ssh -L 8888:ipC:80 user@ipB -N
Сделает доступным веб-сервер на C через localhost: 8888 на A
Еще немного подробностей по запросу OP:
Из вашего вопроса я предположил, что вы хотите получить доступ к веб-серверу C на A (я предполагаю, что у вас есть среда графического интерфейса на A с веб-браузером).
Вы не можете получить доступ к C напрямую (по какой-либо причине), но вы можете получить доступ к B, который, в свою очередь, может получить доступ к C. Итак, мы создаем туннель между A и B, прося B прикрепить свой конец туннеля к веб-серверу на C