Tak, odzyskanie klucza prywatnego z klucza publicznego jest niemożliwe. Gdyby było to możliwe, RSA byłby zasadniczo zepsuty, a to byłaby ważna wiadomość (złamanie RSA nie tylko złamałoby wiele zabezpieczeń komunikacji internetowej, ale także umożliwiłoby wszelkiego rodzaju oszustwa bankowe, między innymi).
Logowanie przy użyciu klucza publicznego zamiast hasła w rzeczywistości zwykle zwiększa bezpieczeństwo. Jeśli twoje hasło nie jest wystarczająco silne, może zostać brutalnie wymuszone przez atakującego o wystarczającej przepustowości. Jeśli osoba atakująca nie ma kopii pliku klucza prywatnego, klucza RSA nie można skutecznie wymusić brutalnie (klucz 1024-bitowy jest równoważny z czymś w rodzaju 160-znakowego hasła złożonego z przypadkowych liter i cyfr z rozróżnianiem wielkich i małych liter) . Ktoś, kto czuwa nad twoim ramieniem, może zobaczyć twoje hasło i hasło, ale z kluczem będzie musiał także zdobyć klucz.
Klucze prywatne nie zawsze są bezpieczniejsze niż hasła. Jeśli osoba atakująca otrzyma kopię twoich prywatnych plików kluczy (na przykład kradnąc laptopa lub nośnik kopii zapasowej), może spróbować brutalnie wymusić hasło i może to zrobić z dużą prędkością, ponieważ nie masz możliwości ograniczenia stawka (w przeciwieństwie do domysłów dotyczących hasła, które należy wykonać online). Jeśli twoje hasło jest wystarczające i natychmiast zauważysz kradzież, nadal będziesz mieć czas na unieważnienie klucza.
Klucz publiczny wprowadza element ujawnienia prywatności: jeśli ktoś wie, że użyłeś tego samego klucza publicznego do zalogowania się do A i zalogowania do B, wie, że ta sama osoba zalogowała się do A i B. Zwykłe posiadanie klucza publicznego sprawia, że jesteś podejrzany, że masz również klucz prywatny, więc tracisz anonimowość. Ale zwykle jest to niewielkie, szczególnie jeśli przechowuje się klucz w ~/.ssh
miejscu, w którym mogą go zobaczyć tylko administratorzy systemu (którzy również wiedzą, z którego adresu IP się zalogowali).
Pomijając te względy bezpieczeństwa, klucz prywatny ma wiele praktycznych zalet. Nie musisz wpisywać swojego hasła tak często, a w szczególności możesz uruchamiać automatyczne skrypty, które nie wyświetlają monitu po wprowadzeniu klucza w ssh-agent itp. Nie musisz tak często wpisywać hasła, więc możesz pozwolić sobie na wyższą entropię (dłuższe, trudniejsze do wpisania). Nie musisz wpisywać swojego hasła tak często, więc istnieje mniejsze ryzyko, że zostanie ono wykradzione przez ludzkiego obserwatora lub kamerę.