Eu tenho 3 computadores. Todos têm SSH em execução e Todos têm o modo Sem senha ativado, somente PKI.
A primeira tem um keyPair usado para acesso SSH às outras duas, chame essa máquina de A.
Portanto, tanto B quanto C têm a chave pública de A em seu authorized_keys
, e A pode ssh para qualquer um sem uma senha.
No entanto, C não possui a chave pública de B em seu authorized_keys
arquivo, ainda, quando eu ssh de A -> B e, em seguida, SSH de B -> C, C, a sessão ssh se conecta sem uma senha.
Por que isso está acontecendo?
Certamente C deve negar a solicitação de sessão de B, apesar do fato de eu ser SSH'd de A para B?
Você deve cuidar
ssh-agent
eAllowAgentForwarding
.Sua chave privada em A deve ser carregada em seu arquivo
ssh-agent
. EAllowAgentForwarding
deve ser ativado, para que o desafio gerado em C para B seja encaminhado por B para A (em uma cadeia de confiança). E ossh-agent
em A está respondendo ao desafio de criptografia de C retransmitido por B, que o autentica em C e permite que você entre nele de B.Não permita sshd
AllowAgentForwarding
em B e C e isso não ocorrerá mais.