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

Создайте виртуальный хост с помощью SSH

У меня следующая установка:

Теперь, если я хочу получить доступ к хостам внутри 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.