Estou usando uma conexão SSH de vários saltos com o encaminhamento de agentes ativado em cada salto. Quero me conectar a uma máquina de destino (Máquina D) usando a chave do salto anterior, não aquela da máquina de origem.
Trabalhando no console da Máquina A, conecto-me à Máquina B com SSH ( ForwardAgent yes ):
Machine A ---SSH(id_rsa_A)---> Machine B ---SSH(forwarded_key)---> Machine D1
Quando executo ssh-add -L (em B), recebo o id_rsa_A . E se eu me conectar de B a D1, ele usa id_rsa_A para autenticação.
OK, é isso que eu quero.
Trabalhando no console da Máquina B, conecto-me à Máquina C com SSH ( ForwardAgent yes ):
Machine B ---SSH(id_rsa_B) ---> Machine C ---SSH(forwarded_key)---> Machine D2
Quando executo ssh-add -L (em C), recebo o id_rsa_B . E se eu conectar de C a D2, ele usa id_rsa_B para autenticação.
OK, é isso que eu quero.
Agora eu volto para a Máquina A e tenho uma conexão SSH de dois saltos com ForwardAgent yes para a Máquina C via B:
Machine A ---SSH(id_rsa_A)---> Machine B ---SSH(id_rsa_B)---> Machine C ---SSH(forwarded_key)---> Machine D2
Quando executo ssh-add -L (em C), recebo o id_rsa_A . E quando me conecto à Máquina D2, a conexão SSH usa id_rsa_A , embora a conexão anterior entre B e C use explicitamente id_rsa_B .
Isso é o que eu quero mudar. Ou seja, eu quero que forwarded_key seja id_rsa_B .
É possível (e como) forçar a Máquina C (conectada de A via B) a usar id_rsa_B para suas conexões SSH de saída?
Eu até tentei a opção ForwardAgent no na primeira conexão:
Machine A ---SSH(id_rsa_A)---> Machine B
deixando ForwardAgent yes na conexão subsequente:
Machine B ---SSH(id_rsa_B)---> Machine C
mas depois a conexão adicional não usa o agente de encaminhamento:
Machine C ---SSH(no_key)---> Machine D2
Parece que é apenas para o tubo inteiro entre o console e a máquina atualmente conectada.
Tags ssh