SSH Serwer nie akceptuje klucza ssh-rsa PubkeyAcceptedAlgorithms

Po przekopiowaniu klucza prywatnego wciąż nie mogłem zalogować się do serwera bez hasła, przegląd logów:

 tail -f /var/log/auth.log

wynik:

Apr 18 05:32:45 wyse3040 sshd[5843]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]

Komunikat błędu, wskazuje na problem z autoryzacją kluczem publicznym podczas próby połączenia za pomocą SSH. Klucz typu ssh-rsa nie jest akceptowany, ponieważ nie znajduje się na liście akceptowanych algorytmów kluczy publicznych (PubkeyAcceptedAlgorithms) w konfiguracji serwera SSH.

Ostatnie aktualizacje w protokołach bezpieczeństwa dla SSH ograniczają użycie kluczy RSA ze względu na potencjalne słabości, zwłaszcza jeśli klucze są generowane z użyciem krótkich długości bitowych.

Aby rozwiązać problem wygenerowałem nowy klucz z użyciem nowoczesnego algorytmu:

ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_ed25519

Po wygenerowaniu klucza instaluje, klucz publiczny instaluje na serwerze:

ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 50130 root@krawaczynski.pl

uwaga UWAGA! Jeżeli nadal chcesz używać ssh-rsa, możesz dodać ten typ klucza do listy akceptowanych algorytmów w pliku konfiguracyjnym serwera SSH

vim /etc/ssh/sshd_config

Dodaj wpis:

PubkeyAcceptedAlgorithms=+ssh-rsa

Na zakończenie wykonaj restart usługi