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