У меня есть 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
пересылка выполнена, но я не понял, почему.
решение1
Вы на правильном пути.
На:
ssh -L 8888:ipC:80 user@ipB -N
Сделает веб-сервер на C доступным через localhost:8888 на A
Немного больше подробностей по просьбе ОП:
Из вашего вопроса я сделал вывод, что вы хотите получить доступ к веб-серверу C на A (предполагаю, что у вас есть графическая среда на A с веб-браузером).
Вы не можете получить доступ к C напрямую (по какой-то причине), но вы можете получить доступ к B, который, в свою очередь, может получить доступ к C. Поэтому мы создаем туннель между A и B, прося B подключить свой конец туннеля к веб-серверу на C.