У меня следующая установка:
Теперь, если я хочу получить доступ к хостам внутри VPN с машины B, я, безусловно, мог бы выполнять переадресацию ssh или связанные ssh-вызовы (например, ssh machine-a ssh machine-vpn
), но это дает мне только ограниченный доступ (т.е. столько портов, сколько я указываю в туннеле SSH, используя -L
вариант). Есть ли способ создать своего рода «виртуальный хост» с использованием SSH, чтобы любое соединение с этим виртуальным хостом в SSH было перенаправлено на целевой хост внутри VPN, независимо от порта? Чтобы поставить вопрос по-другому:
С машины A:
ssh -L 16000:machine-vpn:22 machine-a #creating the initial tunnel to the SSH port on machine-vpn
#now ssh -p 16000 localhost does an SSH to the machine behind the vpn
#create the Virtual Host somehow using SSH, call the virtual host vhost
ssh vhost #this will ssh to the machine behind the vpn, using ssh tunnel
ftp vhost #this will ftp to the machine behind the vpn, using ssh tunnel
#etc.
Есть ли способ делать такие вещи?
SSH также поддерживает динамическую пересылку. Указав динамический порт, клиент ssh создаст прокси-сервер SOCKS5, который затем можно будет использовать для пересылки всего трафика и его удаления с удаленного хоста.
ssh -D2000 machine-a
Вы можете настроить большинство программ (браузеры, ftp и т. Д.) На использование socks-прокси. Все, что вам нужно сделать в этом примере, это указать localhost: 2000 как прокси-сервер SOCKS.
Посмотрите на Tunnel
и TunnelDevice
параметры в последних версиях OpenSSH.