Poprosiłem użytkowników o ich publiczny klucz ssh "id_rsa.pub", który następnie umieszczam w "/home/theiraccount/.ssh/authorized_keys", aby mogli zalogować się do serwera przez SSH. Chciałbym zautomatyzować ten proces.Klucz bezpieczeństwa SSH do sprawdzania kondycji?
Czy mimo to do rozsądku sprawdzam ciąg, który mi dają (programowo lub w inny sposób)? Chcę sprawdzić, czy sshd potrafi odczytać tekst i czy rzeczywiście wygląda na poprawny klucz publiczny (i czy nie został uszkodzony)?
Innymi słowy, jaki jest format pliku id_rsa.pub
? Jeśli ktoś wchodzi na pole, co mogę napisać w skrypcie obsługi formularza, aby sprawdzić, czy jest kompletny i poprawny?
Oto link do funkcji napisanej w Pythonie, która sprawdza poprawność kluczy: https://github.com/jirutka/ssh-ldap-pubkey/blob/master/bin/ssh-ldap-pubkey#L264 Zakładając, że jesteś po prostu zainteresowany podstawową walidacją, algorytm jest w zasadzie: 1. podzielić zawartość, pierwszy element to 'kt' = typ klucza, drugi element to ciąg klucza. 2. klucz podstawowy 64 dekodowania klucza 3. pierwsze cztery bajty są liczbami całkowitymi 'ktl', odpowiadającymi długości ciągu znaków typu klucz_typu 4. otrzymują znaki od 4 do 4 +' ktl' od rozszyfrowanego łańcucha 5. Powinno to być zgodne z typem klucza 'kt'. –