porta ssh para frente

porta ssh para frente

Quero me conectar a um grupo de máquinas usando uma máquina específica usando tunelamento ssh. Mas em todas as soluções encontradas, preciso especificar uma entrada por máquina no meu arquivo de configuração ssh. Eu gostaria de usar um curinga desta forma:

   Host *.mydomain.com
   // some magic here

Por enquanto, a melhor solução encontrada foi:

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

Responder1

Se você puder executar programas como ncou netcatou socatem seu servidor de encapsulamento, poderá usar um ProxyCommandem vez de um encaminhamento de porta:

# 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

Remova o comentário do ProxyCommand apropriado, dependendo de quais ferramentas o servidor de encapsulamento instalou.


Observe que isso configurará e desativará uma conexão SSH separada para cada túnel estabelecido, o que significa que a conexão será mais lenta do que via SOCKS. (Isso não afetará o desempenhodepoisconexão, no entanto.)

Se a sua versão SSH suportar, você poderá ativar a multiplexação de conexão:

Host tunnelbox.mydomain.com
    ControlMaster no
    ControlPath none

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

informação relacionada