Como limpo as entradas do agente ssh (no Mac OS X)?


60

Estou executando o Mac OS X e parece que, após o SSHing em várias máquinas, usando arquivos de identidade, meu 'ssh-agent' cria muitas identidades / chaves e, às vezes, oferece muitas para uma máquina remota, fazendo com que elas me inicie antes de conectar:

Desconexão recebida de 10.12.10.16: 2: muitas falhas de autenticação para cwd

É bastante óbvio o que está acontecendo, e esta página fala sobre isso em mais detalhes:

Os servidores SSH permitem apenas tentar autenticar um certo número de vezes. Cada tentativa de senha com falha, cada pubkey / identidade com falha oferecida, etc, realiza uma dessas tentativas. Se você possui muitas chaves SSH em seu agente, pode descobrir que um servidor SSH pode expulsá-lo antes de permitir a tentativa de autenticação por senha. Se for esse o caso, existem algumas soluções diferentes.

A reinicialização limpa o agente e tudo volta a funcionar bem. Também posso adicionar esta linha ao meu .ssh/configarquivo para forçá-lo a usar a autenticação de senha:

PreferredAuthentications keyboard-interactive,password

De qualquer forma, vi a nota na página que referi falar sobre a exclusão de chaves do agente, mas não tenho certeza se isso se aplica a um Mac, pois elas parecem ter sido limpas após a reinicialização.

Existe uma maneira simples de limpar todas as chaves no 'ssh-agent' (a mesma coisa que acontece na reinicialização)?

Respostas:


97

Suas chaves SSH não devem ser adicionadas automaticamente ao agente apenas porque você fez o SSH em um servidor ...

Corra ssh-add -lpara listar as chaves do agente, ssh-add -Dpara limpar todas as chaves.


Talvez tenha algo a ver com a configuração do OSX? Se eu digitar, ssh-add -lnão recebo nada. Se eu digitar ssh -i ~/keyFileLocation.dsa un@remotehost, recebo uma caixa de diálogo pop-up do OS X solicitando a senha. Eu digito e depois me conecta. Se eu desconectar e depois digitar, ssh-add -lisso mostra a identidade que acabei de usar. Depois de reiniciar o computador, digite ssh-add -l-o novamente em branco. ssh-add -Dfuncionou muito bem para limpar as chaves sem reiniciar. Obrigado!
Cwd

Quatro anos mais tarde e isso ainda é um problema, mas essa correção ainda funciona - obrigado
jnunn

Ei, você pode me guiar por isso, por favor? superuser.com/questions/951002/…
Niks

4
Errado (em 2017): consulte a AddKeysToAgentopção de configuração, projetada para o propósito expresso de adicionar suas chaves SSH ao agente apenas porque você fez o SSH em um servidor.
Radon Rosborough 19/09/19

1

Outra maneira de limitar o que as chaves são verificadas é adicionar IdentitiesOnly yese IdentityFile ~/.ssh/<nameofkey>ao seu /.ssh/configarquivo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.