ssh-add -D não tem efeito

1

Eu tenho várias chaves registradas:

$ ssh-add -l
4096 cd:43:96:9e:0c:9a:38:ae:d9:96:f0:c5:d1:bf:9d:96 alex@sunny2 (RSA)
2048 4c:eb:fc:6b:ab:a0:ff:99:c3:ff:13:0a:95:2a:68:70 ███████ (RSA)
4096 01:cc:8d:c9:3c:ca:cf:39:93:57:e5:36:91:30:c2:94 ██████(RSA)
4096 87:b3:05:9a:68:6a:2b:be:1f:6f:ce:1b:34:50:c9:01 ██████████(RSA)
2048 37:d7:c6:08:65:9e:d4:8e:57:a2:05:36:71:e3:0b:13 ███ (RSA)
2048 3c:62:aa:4e:86:6d:83:b0:f7:b8:fb:0a:db:c4:67:3b ██████ (RSA)
1024 a4:1b:cb:c9:a0:99:19:80:67:e2:1b:14:5b:7e:17:cf ███████ (RSA)

Eu tentei ssh-add -d ██████ remover seletivamente, e ssh-add -D para remover todas as chaves.

isso não parece funcionar. Depois que eu executei ssh-add -D , a saída de ssh-add -l é a mesma que antes.

Eu tentei, por exemplo, ssh-add -d alex@sunny2 e também o caminho completo para o arquivo de chave, que é, neste exemplo, ~/.ssh/alex_rsa .

Eu também tentei 'remover coringa', ssh-add -d ~/.ssh/* .

Curiosamente, recebo uma confirmação de que a chave foi removida:

Identity removed: .ssh/alex_rsa ( alex@sunny2)

Mas ssh-add -l novamente lista todos os arquivos principais, então parece que algo saiu errado durante a remoção. Ou há algum mecanismo que adiciona as chaves imediatamente novamente.

$ cat ~/.ssh/config 
Host *
    ServerAliveInterval 240

Host 192.168.0.107
        PreferredAuthentications keyboard-interactive,password,publickey,hostbased,gssapi-with-mic

Host github.com
        HostName    github.com
        IdentityFile    ~/.ssh/alex_rsa

A versão do SSH é:

$ ssh -V
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8, OpenSSL 1.0.1f 6 Jan 2014
    
por kerner1000 25.10.2017 / 12:58

3 respostas

1

Sim, pode haver um mecanismo que adiciona chaves ao seu chaveiro. Por exemplo, na minha máquina (Ubuntu 16.04LTS) eu posso ver a seguinte configuração do PAM:

blafasel@localhost:~$ grep -R gnome_keyring /etc/pam.*
/etc/pam.d/lightdm-greeter:auth    optional        pam_gnome_keyring.so
/etc/pam.d/lightdm-greeter:session optional        pam_gnome_keyring.so auto_start
/etc/pam.d/gnome-screensaver:auth optional pam_gnome_keyring.so
/etc/pam.d/common-password:password optional    pam_gnome_keyring.so 
/etc/pam.d/lightdm:auth    optional        pam_gnome_keyring.so
/etc/pam.d/lightdm:session optional        pam_gnome_keyring.so auto_start
/etc/pam.d/unity:auth optional pam_gnome_keyring.so

Isso significa que, se eu começar uma sessão X com lightdm , esta sessão terá acesso às chaves fornecidas por gnome-keyring-daemon . Estes normalmente incluirão todas as chaves dentro de ~/.ssh/ que são lidas no login.

Edit: Se você rodar o Ubuntu 16.04 ou tiver algum outro sistema executando o gnome (validar por ps ax|grep keyring ) você pode usar gnome-keyring-properties para mudar de integração de sessão. Então, nenhuma outra chave será fornecida após o próximo login.

    
por 29.10.2017 / 22:20
0

Qual versão do OpenSSH (e portanto do ssh-add) você tem?

O meu funciona:

$ ssh-add -l
... user@host (RSA)
$ ssh-add -D
All identities removed.
$ ssh-add -l
The agent has no identities.
    
por 25.10.2017 / 13:15
0
  1. matar gnome-keyring-daemon

    $ ps ax | chaveiro grep  1627? Sll 0:01 / usr / bin / gnome-keyring-daemon --daemonize --login 17218 pts / 2 S + 0:00 grep --color = chaveiro automático

    $ kill 1627

  2. reiniciar o ssh

    $ eval $ (ssh-agent)

  3. agora todas as identidades foram removidas

    $ ssh-add -l O agente não tem identidades.

por 06.01.2018 / 16:18

Tags