Mam grupę użytkowników, którzy za pomocą kluczy SSH mają dostęp do kont na innych serwerach. Obecnie mam skrypt, który zbiera klucze publiczne ssh i dystrybuuje je na odpowiednie konto na odpowiednich serwerach.
Chcę, aby ten skrypt sprawdził, czy dany klucz ssh danego użytkownika ma hasło przed zaakceptowaniem klucza publicznego i jego rozpowszechnieniem.
Próbowałem wielu rzeczy, takich jak używanie ssh-agent
a, ssh-add
a potem pojawia się problem, gdy pojawia ssh-add
się prośba o hasło.
Czy istnieje sposób, aby uzyskać coś takiego jak openssl
sprawdzenie hasła, nieznacznie nie powiodło się z kodem powrotu, 1
jeśli klucz ma hasło?
Dzięki!
Odpowiedzi:
Jeśli plik klucza używa hasła, to ma atrybut „Proc-Type:” z dołączonym słowem „SZYFROWANY”.
Możesz więc ustalić, czy plik klucza używa hasła, uruchamiając go
find
igrep
sprawdzając, czy ma ciąg „SZYFROWANY”.wypisuje listę plików z hasłami. Następnie możesz dopasować je do listy wszystkich plików kluczy, aby wyróżnić te, które nie używają hasła. Listę wszystkich plików kluczy można uzyskać, np. Przez pominięcie
-exec
parametru, w następujący sposób:źródło
Proc-Type
nagłówek nie jest zapisywany w pliku, mimo że jest szyfrowany.