Предположим следующие хосты:
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 доступен с общедоступного сервера.