Переадресация портов для удаленного хоста на локальной машине

Переадресация портов для удаленного хоста на локальной машине

Рассмотрим ситуацию, когда есть три машины

Machine 1                  Machine 2                 Machine 3
(Local)                 (Intermediate)                (Server)
(Ubuntu)                    (RHEL)                     (RHEL)

У меня запущен Apache Machine 3, и мне нужно просмотреть домашнюю страницу Apache с моего локального компьютера (Machine 1).

Что я уже сделал:

Я могу сделать переадресацию портов с помощью

ssh -L8888:localhost:8888 machine2@ip  # on machine 1
ssh -L8888:localhost:80 machine3@ip   # on machine 2

Я могу получить доступ к домашней странице Apache на своем локальном компьютере, но мне приходится выполнять эти шаги снова каждый раз при входе в систему.

Немного почитав, я обнаружил, что для автоматического выполнения этого мне нужно добавить configфайл в ~/.ssh. Так что я сделал это на Machine 1и Machine 2вот содержимое файла config.

На машине 1:

Host Machine2
        HostName <Machine2 IP>
        User <username for Machine 2>
        RemoteForward 8888 localhost:8888

На машине 2:

Host Machine3
            HostName <Machine3 IP>
            User <username for Machine 3>
            RemoteForward 8888 localhost:80

Это не работает для меня, и я застрял на этом надолго. Любая помощь по этому поводу была бы очень признательна. Спасибо!

решение1

ssh -L8888:localhost:80 machine3@ip   # on machine 2

...

RemoteForward 8888 localhost:80

-Lальтернатива в ssh_configis LocalForward, а не та RemoteForward, которую вы используете в прикрепленной конфигурации.

Связанный контент