Eu uso um servidor jump (lab1) para conectar-me a servidores com IPs começando com 10.*. Todos os outros servidores não devem usar lab1 como servidor de salto e precisam de uma chave diferente.
Na configuração principal existem duas configurações incluídas e algumas configurações gerais:
Configuração principal do 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
laboratório.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
Quando eu me conecto ao lab2, ele deve usar o ProxyJump para me conectar através do servidor de salto (lab1), pois tenho uma regra para Host 10.*
Mas não se comporta como esperado.
Funciona apenas se eu colocar ProxyJump lab1
na Host lab2
seção:
Host lab2
HostName 10.10.10.2
ProxyJump lab1
Por que ProxyJump
param não é herdado?
Responder1
Porque funciona com o nome que você está usando. Se você usasse ssh 10.10.10.2
seu cliente, usaria a configuração ProxyJump da sua configuração. Mas se você ssh lab2
, o lab2
valor não corresponder, 10.*
então a configuração não será usada. Portanto, não se trata de herança, é que o ssh não reavalia a configuração depois que a configuração do `lab2 é carregada e encontra o valor do nome do host.
Se todos os seus computadores nessa 10.10.10.*
rede tiverem o nome lab*, você poderá fazer algo assim.
Host lab1
HostName 134.121.15.2
IdentityFile /SSH_keys/dev/id_rsa
Host lab* !lab1
ProxyJump lab1