Klucze SSH to świetna metoda do uwierzytelniania sesji SSH bez konieczności podawania hasła przy każdym logowaniu. Jednak, podobnie jak wszystkie technologie, klucze SSH nie są doskonałe i podczas ich używania mogą wystąpić błędy. Jednym z najczęstszych błędów podczas pracy z kluczami SSH jest błąd odmowy uprawnień (klucz publiczny).
W tym artykule omówimy różne przyczyny tego błędu i pokażemy szybkie kroki, które możesz podjąć, aby naprawić błąd.
Błąd 1: Autoryzowane klucze i uprawnienia do katalogu
Jedną z przyczyn tego błędu mogą być uprawnienia i własność skonfigurowane dla katalogu .ssh i pliku autoryzowane_klucze.
Aby rozwiązać ten problem, ustaw uprawnienia do katalogu .ssh na 700, a uprawnienia Author_keys na 6oo.
sudo chmod 700~/.sshsudo chmod 600autoryzowane_klucze
Błąd 2: Nieprawidłowe konfiguracje SSH
Inną częstą przyczyną błędu klucza publicznego jest nieprawidłowa konfiguracja w pliku sshd_config. Aby rozwiązać ten problem, edytuj plik /etc/ssh/sshd_config i zmień następujące wpisy.
#PermitRootLogin zabrania hasła#PasswordUwierzytelnianie tak
Powyższe wpisy powinny wyglądać tak, jak pokazano poniżej:
ZezwolenieRootZalogujtakUwierzytelnianie hasłemtak
Zapisz konfigurację i uruchom ponownie usługę:
sudosystemctl restart sshd.serviceBłąd 3: Brakujące klucze
Inną możliwą przyczyną błędu odmowy dostępu do klucza publicznego może być brak kluczy z komputera lokalnego. Jeśli masz klucze dodane do pliku Authorized_keys na serwerze, ale brakuje im odpowiednich kluczy prywatnych, może to spowodować błąd.
Aby rozwiązać ten problem, edytuj plik konfiguracyjny ssh, wyłącz uwierzytelnianie klucza publicznego i włącz logowanie hasłem w następujący sposób:
Uwierzytelnianie Pubkeytak#PasswordUwierzytelnianie tak
Zmień na następujące wpisy:
#PubkeyAuthentication takUwierzytelnianie hasłemtak
Po edycji konfiguracji zapisz plik i uruchom ponownie usługę SSH:
sudosystemctl restart sshd.serviceJeśli masz pewność, że Twoje klucze zostały naruszone, możesz je usunąć z Author_keys lub dodać określony klucz do listy unieważnionych w SSH.
Wniosek
W tym krótkim przewodniku pokazano, jak rozwiązać różne problemy, które mogą powodować błąd odmowy uprawnień (klucz publiczny) w protokole SSH. Jeśli ten problem będzie się powtarzał, rozważ inne metody rozwiązywania problemów.