Impossibile rimuovere le chiavi da ssh-agent. Anche il riavvio non aiuta


18

Poco tempo fa ho notato che c'erano tre chiavi nel mio agente ssh che non potevo cancellare. ssh-add -l ha mostrato tre chiavi; mi sono imbattuto ssh-add -De fu detto "Tutte le identità rimosse"; ma poi un immediato ssh-add -l ha mostrato le stesse tre chiavi.

Se esco e poi torno, i tasti sono ancora lì. Se riavvio la macchina, i tasti sono ancora lì. Se cancello la directory keyring in /tmp, Non riesco a connettermi ssh-agent altro ancora, ma al momento del logout e ritorno, le chiavi sono tornate. Sono invulnerabili.

Le chiavi sono mie, non di chiunque altro, per quanto posso dire. Posso accedere ai miei soliti servizi locali con loro. Ma quando aggiungo nuovamente uno dei tasti ssh-add, dando il percorso a un file di chiave privata, la nuova chiave ha un aspetto diverso nell'output di 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)

contro l'originale:

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

C'è un modo per spiegare sensibilmente questo comportamento? Immagino ci siano davvero due domande:

  1. Come sono riusciti a conservare le chiavi anche attraverso i riavvii? La mia conoscenza di base di ssh suggerisce che le chiavi debbano sempre essere aggiunte manualmente.

  2. Perché lo fa ssh-agent -D mentirmi sulla rimozione delle identità?


C'è anche un bug di Fedora / Red Hat: bugzilla.redhat.com/show_bug.cgi?id=1205546
spoovy

Risposte:


11

Sembra che potrebbe essere un bug. Sto avendo un comportamento simile in Ubuntu 10.10. Una ricerca su google ha trovato una segnalazione di bug per Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477

Per rimuovere le chiavi extra che avevo mostrato, le ho semplicemente spostate fuori dalla directory ~ / .ssh.


Sì! Questo funziona per me. Grazie! Uso Debian Wheezy beta 4.
Tarrasch

3
Finalmente allacciato e indagato. Il colpevole è gnome-keyring-daemon, che a) carica automaticamente tutte le chiavi in ​​~ / .ssh, e b) rifiuta di abbandonarle. La soluzione è quella di mantenere gnome-keyring-manager da sempre in fase di avvio, cosa che è stata stranamente difficile grazie alla rimozione del permesso di esecuzione del file del programma.
Sean

C'è una soluzione a questo che non lo fa coinvolgere hobbling gnome-keyring-manager? cioè, aggiustando gnome-keyring-manager in modo che cancelli le chiavi a cui è detto?
Phil

È il 2018 e questo è ancora rilevante. Devo spostare le chiavi fuori da ~ / .ssh
Carson Ip

3

Le tue chiavi sono memorizzate come file nella directory nascosta: /home/jruser/.ssh/ ecco come persistono dopo i riavvii. La mia ipotesi è che ssh-add -D stia cancellandoli dalla memoria, ma quando si riavvia vengono letti dalla directory .ssh e quindi li si ha di nuovo.


4
Ma ssh-add -D NON li sta eliminando dalla memoria. Non ha alcun effetto.
Sean
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.