¿Por qué no se hereda el parámetro ProxyJump para el rango de IP especificado en la configuración SSH?

¿Por qué no se hereda el parámetro ProxyJump para el rango de IP especificado en la configuración SSH?

Utilizo un servidor de salto (lab1) para conectarme a servidores con IP que comienzan con 10.*. Todos los demás servidores no deberían usar lab1 como servidor de salto y necesitan una clave diferente.

En la configuración principal hay dos configuraciones incluidas y algunas configuraciones generales:

Configuración principal de ssh:

Include ~/.ssh/lab.conf
Include ~/.ssh/prod.conf

Host *
  AddKeysToAgent yes
  UseKeychain yes
  User rg2531
  ForwardAgent yes
  ServerAliveInterval 30
  ServerAliveCountMax 10
  IdentityFile /SSH_keys/prod/id_rsa

laboratorio.conf:

Host 10.*
  ProxyJump lab1

# Jump server
Host lab1
  HostName 134.121.15.2
  IdentityFile /SSH_keys/dev/id_rsa

# Individual hosts
Host lab2
  HostName 10.10.10.2

prod.conf:

Host prod1
  HostName 122.140.12.1

Cuando me conecto a lab2, debería usar ProxyJump para conectarme a través del servidor de salto (lab1), porque tengo una regla para Host 10.* pero no se comporta como se esperaba.

Funciona sólo si pongo ProxyJump lab1en Host lab2la sección:

Host lab2
  HostName 10.10.10.2
  ProxyJump lab1

¿Por qué ProxyJumpparam no se hereda?

Respuesta1

Porque funciona con el nombre que estás usando. Si usó ssh 10.10.10.2su cliente, usaría la configuración ProxyJump de su configuración. Pero si lo hace ssh lab2, el lab2valor no coincide, 10.*por lo que no se utiliza la configuración. Entonces no se trata de herencia, es que ssh no reevalúa la configuración una vez que se carga la configuración para `lab2 y encuentra el valor del nombre de host.

Si todas sus computadoras en esa 10.10.10.*red se llaman lab*, podría hacer algo como esto.

Host lab1
  HostName 134.121.15.2
  IdentityFile /SSH_keys/dev/id_rsa

Host lab* !lab1
  ProxyJump lab1

información relacionada