Nie można usunąć kluczy z ssh-agent. Nawet ponowne uruchomienie nie pomaga

18

Niedawno zauważyłem, że w moim agencie ssh są trzy klucze, których nie mogę usunąć. ssh-add -l pokazał trzy klucze; Pobiegłem ssh-add -Di powiedziano „Wszystkie tożsamości usunięte”; ale natychmiast ssh-add -l pokazał te same trzy klucze.

Jeśli się wyloguję, a następnie wrócę, klucze nadal tam są. Jeśli zrestartuję komputer, klucze nadal tam są. Jeśli usunę katalog kluczy w /tmp, Nie mogę się połączyć ssh-agent już więcej, ale po wylogowaniu się i powrocie klucze wracają. Są niezniszczalni.

O ile wiem, klucze są moje, a nie kogokolwiek innego. Dzięki nim mogę uzyskać dostęp do moich zwykłych lokalnych usług. Ale kiedy ponownie dodam jeden z kluczy za pomocą ssh-add, podając ścieżkę do pliku klucza prywatnego, nowy klucz ma inny wygląd na wyjściu 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. oryginał:

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

Czy jest jakiś sposób na rozsądne rozliczenie tego zachowania? Sądzę, że są naprawdę dwa pytania:

  1. W jaki sposób udało się zachować klucze nawet po ponownym uruchomieniu? Moja podstawowa znajomość ssh sugeruje, że klucze należy zawsze dodawać ręcznie.

  2. Dlaczego ssh-agent -D okłamuj mnie o usuwaniu tożsamości?

Sean
źródło
Jest też błąd Fedory / Red Hat: bugzilla.redhat.com/show_bug.cgi?id=1205546
spoovy

Odpowiedzi:

11

Wygląda na to, że może to być błąd. Mam podobne zachowanie w Ubuntu 10.10. Wyszukiwarka google znalazła raport o błędzie dla Debiana: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477

Aby usunąć dodatkowe klawisze, które pokazałem, właśnie przeniosłem je z katalogu ~ / .ssh.

mp3foley
źródło
Tak! To działa dla mnie. Dzięki! Używam Debian Wheezy beta 4.
Tarrasch
3
W końcu ugięłem się i zbadałem. Sprawcą jest demon gnome-keyring, który a) automatycznie ładuje wszystkie klucze w ~ / .ssh, ib) odmawia ich zrzeczenia się. Rozwiązaniem jest, aby gnome-keyring-manager nigdy nie był uruchamiany, co było dziwnie trudne, ostatecznie osiągnięte przez usunięcie uprawnienia do wykonania pliku programu.
Sean
Czy istnieje rozwiązanie tego problemu nie zaangażować się w pokusę gnome-keyring-manager? tj. naprawianie gnome-keyring-manager, aby usuwał klucze, o których mówi?
Phil
Jest rok 2018 i jest to nadal aktualne. Musisz przenieść klucze z ~ / .ssh
Carson Ip
3

Twoje klucze są przechowywane jako pliki w ukrytym katalogu: /home/jruser/.ssh/, w ten sposób utrzymują się po ponownym uruchomieniu. Domyślam się, że ssh-add -D usuwa je z pamięci, ale po ponownym uruchomieniu są one czytane z katalogu .ssh, więc masz je ponownie.

pbsmind
źródło
4
Ale ssh-add -D NIE usuwa ich z pamięci. Nie ma żadnego efektu.
Sean