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

Доступ к удаленному серверу с частным IP через * ДРУГОЙ * сервер с общедоступным IP

Предположим следующие хосты:

localhost : my laptop 
remoteserver : a server with a public IP which runs a SSH server on port 22. (remoteserver ip for example 194.152.16.111) 
private.remoteserver ssh on port 2255: a server with a private IP which is only accessible from remoteserver. (private.remoteserver ip for example 194.152.16.222

)

Я хочу создать ssh-туннель, который я могу подключиться к private.remoteserver с моего ноутбука бросил удаленный сервер

Я пробовал это

ssh -L 2255:194.152.16.222:2255 admin@194.152.16.111

and then from laptop

ssh localhost:2255

но не работает. Что я делаю не так?

Самый простой способ сделать то, что называется "multi hop ssh", и подключиться от хоста A через хост B к хосту C - с помощью ProxyJump командный переключатель -J доступно в более новых версиях ssh:

 ssh -J userB@hostB:portB userC@hostC:portC

где номера портов необходимы только тогда, когда используется номер порта, отличный от порта SSH по умолчанию 22.

Или с scp

 scp -o 'ProxyJump userB@hostB' localfile userC@hostC:/remote/path/

Вы можете поместить это в свой ~ / .ssh / config

Host <internal.ips>
    Proxycommand ssh -C -W %h:%p -q -A <public server ip>

просто убедитесь, что internal.ips доступен с общедоступного сервера.