У меня есть VM Ubuntu, который подключен к VPN (использующий OpenConnect на Ubuntu), и я хочу к SSH от моего хоста OS X до VPN через Ubuntu:
(osx_host) --ssh--> (ubuntu_vm) --ssh--> (remote_server_on_vpn)
Я попытался использовать перенаправление портов SSH с командами ниже для передачи порта Ubuntu 9922 порту удаленного сервера 22 таким образом, что SSH'ing к порту Ubuntu 9922 соединился бы с удаленным сервером, но я получаю неожиданные результаты.
osx_host$ ssh -R 9922:remote_server_on_vpn:22 ubuntu_vm
osx_host$ ssh localhost -p 9922
ubuntu_vm$ ssh -L 9922:remote_server_on_vpn:22 localhost
osx_host$ ssh ubuntu_vm -p 9922
Но они только открывают оболочку для Ubuntu а не удаленного сервера.
ubuntu_vm$ ssh -D localhost:9922 remote_server_on_vpn
osx_host$ ssh ubuntu_vm -p 9922
но соединение с портом 9922 испытывает таймаут. Я уже проверил что мой /etc/ssh/sshd_config
содержит AllowTcpForwarding yes
и перезагруженный. Что я делаю неправильно?
Команда должна быть
osx_host$ ssh -fNL 9922:remote_server_on_vpn:22 ubuntu_vm
osx_host$ ssh localhost -p 9922
, Не забывают заканчивать существующие соединения.