переадресация порта ssh

переадресация порта ssh

Я хочу подключиться к группе машин, используя определенную машину, используя туннелирование ssh. Но во всех найденных решениях мне нужно указать запись для каждой машины в моем файле конфигурации ssh. Я хотел бы использовать подстановочный знак таким образом:

   Host *.mydomain.com
   // some magic here

На данный момент наилучшим решением было:

http://magazine.redhat.com/2007/11/27/advanced-ssh-configuration-and-tunneling-we-dont-need-no-stinking-vpn-software/

решение1

Если вы можете запускать такие программы, как или ncна вашем туннельном сервере, вы можете использовать вместо переадресации портов:netcatsocatProxyCommand

# Only necessary if it matches the *.mydomain.com wildcard. Useless otherwise.
Host tunnelbox.mydomain.com
    ProxyCommand none

Host *.mydomain.com
    ProxyCommand ssh tunnelbox.mydomain.com nc %h %p
    #ProxyCommand ssh tunnelbox.mydomain.com ncat %h %p
    #ProxyCommand ssh tunnelbox.mydomain.com socat stdio tcp:%h:%p
    #ProxyCommand ssh tunnelbox.mydomain.com netcat %h %p

Раскомментируйте соответствующую команду ProxyCommand в зависимости от того, какие инструменты установлены на туннельном сервере.


Обратите внимание, что это приведет к установке и отключению отдельного SSH-подключения для каждого установленного туннеля, что означает, что подключение будет медленнее, чем через SOCKS. (Это не повлияет на производительность.)после(Связь, однако.)

Если ваша версия SSH поддерживает это, вы можете включить мультиплексирование соединений:

Host tunnelbox.mydomain.com
    ControlMaster no
    ControlPath none

Host *.mydomain.com
    ControlMaster auto
    ControlPath ~/.ssh/S.%l.%r@%h:%p
    ControlPersist 10m

Связанный контент