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 lab1
en Host lab2
la sección:
Host lab2
HostName 10.10.10.2
ProxyJump lab1
¿Por qué ProxyJump
param no se hereda?
Respuesta1
Porque funciona con el nombre que estás usando. Si usó ssh 10.10.10.2
su cliente, usaría la configuración ProxyJump de su configuración. Pero si lo hace ssh lab2
, el lab2
valor 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