Não é possível remover as chaves do ssh-agent. Mesmo a reinicialização não ajuda


18

Há pouco tempo, notei que havia três chaves no meu ssh-agent que não consegui excluir. ssh-add -lmostrou três chaves; Eu corri ssh-add -De me disseram "Todas as identidades removidas."; mas então um imediato ssh-add -lmostrou as mesmas três chaves.

Se eu sair e depois voltar, as chaves ainda estarão lá. Se eu reiniciar a máquina, as chaves ainda estarão lá. Se eu excluir o diretório do chaveiro /tmp, não consigo mais me conectar ssh-agent, mas ao fazer o logoff e o logon novamente, as chaves estão de volta. Eles são invulneráveis.

As chaves são minhas, não de mais ninguém, tanto quanto eu posso dizer. Posso acessar meus serviços locais habituais com eles. Mas quando adiciono uma das chaves novamente com ssh-add, fornecendo o caminho para um arquivo de chave privada, a nova chave tem uma aparência diferente na saída de ssh-add -l:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)

vs. o original:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)

Existe alguma maneira de explicar sensatamente esse comportamento? Eu acho que existem realmente duas perguntas:

  1. Como as chaves conseguiram ser mantidas mesmo durante as reinicializações? Meu conhecimento básico sshsugere que as chaves sempre precisam ser adicionadas manualmente.

  2. Por que eu ssh-agent -Dminto para remover identidades?


Também há um bug do Fedora / Red Hat: bugzilla.redhat.com/show_bug.cgi?id=1205546 #
Spoovy

Respostas:


11

Parece que pode ser um bug. Estou tendo um comportamento semelhante no Ubuntu 10.10. Uma pesquisa no google encontrou um relatório de bug para o Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477

Para remover as chaves extras que eu mostrava, acabei de removê-las do diretório ~ / .ssh.


Sim! Isso funciona para mim. Obrigado! Eu uso o Debian Wheezy beta 4.
Tarrasch

3
Finalmente cedeu e investigou. O culpado é o gnome-keyring-daemon, que a) carrega automaticamente todas as chaves em ~ / .ssh eb) se recusa a abandoná-las. A solução é impedir que o gnome-keyring-manager seja iniciado, o que foi estranhamente difícil por finalmente ser alcançado com a remoção da permissão de execução do arquivo de programa.
25413 Sean

Existe uma solução para isso que não envolva gnome-keyring-manager? ou seja, consertar o gnome-keyring-manager para excluir as chaves solicitadas?
Phil

11
É 2018 e isso ainda é relevante. Tem que mover as chaves do ~ / .ssh
Carson Ip

11
Uau. Remova as chaves de ~ / .ssh e coloque em outro diretório como o @CarsonIp mencionado e, em seguida, use um comando ssh-agent no bashrc para carregar manualmente as chaves ssh extras do outro diretório. PIMA!
Ligemer 19/02

3

Suas chaves são armazenadas como arquivos no diretório oculto: /home/jruser/.ssh/ é assim que elas persistem após a reinicialização. Meu palpite é que o ssh-add -D está excluindo-os da memória, mas quando você reinicia, eles são lidos no diretório .ssh e, portanto, você os possui novamente.


4
Mas ssh-add -DNÃO os está excluindo da memória. Não tem nenhum efeito.
Sean
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.