
Quiero conectarme a un grupo de máquinas usando una máquina específica usando un túnel ssh. Pero en todas las soluciones encontradas, necesito especificar una entrada por máquina en mi archivo de configuración ssh. Me gustaría utilizar un comodín de esta manera:
Host *.mydomain.com
// some magic here
Por ahora, la mejor solución encontrada fue:
Respuesta1
Si puede ejecutar programas como nc
o netcat
o socat
en su servidor de túnel, puede usar un ProxyCommand
reenvío de puerto en lugar de un puerto:
# 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
Descomente el ProxyCommand apropiado, según las herramientas que haya instalado el servidor de túnel.
Tenga en cuenta que esto configurará y desactivará una conexión SSH separada para cada túnel establecido, lo que significa que la conexión será más lenta que a través de SOCKS. (No afectará el rendimientodespuésconexión, sin embargo.)
Si su versión SSH lo admite, puede habilitar la multiplexación de conexiones:
Host tunnelbox.mydomain.com
ControlMaster no
ControlPath none
Host *.mydomain.com
ControlMaster auto
ControlPath ~/.ssh/S.%l.%r@%h:%p
ControlPersist 10m