Jak stwierdzić, czy publiczny klucz SSH ma hasło

13

To jest prawdopodobnie pytanie noob, ale jak mogę ustalić, czy publiczny klucz SSH, który ktoś mi daje, ma hasło, czy nie?

Mamy sytuację, w której nie generuję kluczy SSH dla użytkowników, ale chcę się upewnić, że każdy klucz SSH, który umieszczam na serwerze, ma hasło, ale mam wrażenie, że hasło jest tylko częścią klucza prywatnego.

Dzięki!

Peter Sankauskas
źródło

Odpowiedzi:

27

Nie można tego ustalić na podstawie publicznej połowy klucza. Nawet jeśli możesz to ustalić, co powstrzyma użytkownika przed późniejszym usunięciem?

Po usunięciu hasła z prywatnej strony klucza strona publiczna nie zmienia się.

James F.
źródło
7

Nie możesz stwierdzić, czy klucz prywatny ma hasło, czy nie.

James
źródło
3
Dokładniej, klucze publiczne nie mają fraz. Działają tylko klucze prywatne.
Swoogan
-2

Myślę, że hasło jest synchronicznym szyfrowaniem klucza prywatnego, więc nie wpłynie to na klucz publiczny. Technicznie nie wpływa to na żaden klucz, ponieważ po prostu szyfruje dane klucza prywatnego.

Jeśli masz zasady dotyczące wymaganego hasła, możesz również chcieć ustanowić zasady dotyczące ssh-agent i przekazywania agentów, ponieważ przechowuje to gniazdo używane do uzyskania dostępu do procesu ssh-agent w / tmp bez większego bezpieczeństwa poza uprawnieniami do plików unix w celu ochrony to.

James
źródło
Nie wierzę, że klucz jest przechowywany niezaszyfrowany w / tmp. Wierzę, że jest przechowywany w pamięci na oryginalnej maszynie, na której użytkownik wszedł w fazę.
James
Przepraszamy, masz rację, niezaszyfrowany klucz nie jest przechowywany w / tmp. Gniazdo ssh-agent jest przechowywane w / tmp i każdy, kto ma uprawnienia uniksowe, aby uzyskać dostęp do tego gniazda, może użyć kluczy, które ma dla ciebie ssh-agent. Nadal poważny problem dotyczący bezpieczeństwa.
James