ssh não está usando chaves encaminhadas pelo agente

2

Eu ssh de local a X , e gostaria de ssh de X a Y usando chaves RSA protegidas por senha, com todas as minhas chaves privadas sendo armazenadas em local . No entanto,

local> ssh -A X
X> ssh Y
Received disconnect: 2: Too many authentication failures

Isso porque eu tenho muitas chaves no agente e ele não chega à chave certa antes que o servidor Y pense que sou malicioso. Eu posso confirmar isso removendo todas as chaves do meu ~/.ssh , exceto aquelas que são para X e Y , e então o comando ssh funciona. Agora não posso especificar a chave correta a ser usada com ssh Y -o IdentiyFile=path , porque o caminho certo para a chave está em local , não em X . Além disso, se eu especificar -o IdentitiesOnly=yes , ele nunca procura chaves fornecidas pelo agente, ele procura apenas por chaves no X:~/.ssh . Como posso contornar isso?

    
por dbrane 23.03.2017 / 16:50

1 resposta

2

Ok, eu encontrei uma solução. No sistema X , eu crio uma seção ~/.ssh/config para Y , que é algo como:

Host Y
    ...
    IdentityFile ~/.ssh/id_Y.pub
    ...

em que ~/.ssh/id_Y.pub é uma cópia (em X ) da chave pública local para Y . sshd só precisa saber onde está a chave pública, descobrirá tudo o que precisa do agente.

    
por 24.03.2017 / 03:14