Jeśli akurat używasz selinux, możesz również sprawdzić kontekst katalogu domowego i plików .ssh! Miałem szczęście, że mogłem użyć tej prostej poprawki: # restorecon -R -v /home/useraby sprawdzić, czy to jest problem (chociaż poprzednie polecenie nie powinno powodować żadnych problemów), możesz użyć $ ls -lZR <home_dir>do zbadania kontekstu. Jeśli nie widzisz user_home_tw katalogu domowym oraz ssh_home_tw .sshkatalogu i authorized_keyspliku, użyj ich, restoreconaby je naprawić.
fbicknel
523
ssh-keygen -y
ssh-keygen -y wyświetli monit o podanie hasła (jeśli takie istnieje).
Jeśli wpiszesz poprawne hasło, wyświetli się powiązany klucz publiczny.
Jeśli wpiszesz nieprawidłowe hasło, wyświetli się load failed.
Jeśli klucz nie ma hasła, nie poprosi o hasło i natychmiast pokaże powiązany klucz publiczny.
na przykład,
Utwórz nową parę kluczy publiczny / prywatny, z hasłem lub bez:
$ ssh-keygen -f /tmp/my_key
...
Teraz sprawdź, czy możesz uzyskać dostęp do pary kluczy:
$ ssh-keygen -y -f /tmp/my_key
Poniżej znajduje się rozszerzony przykład pokazujący wyniki.
Utwórz nową parę kluczy publiczny / prywatny, z hasłem lub bez:
$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .+ |
| . . o |
| = . + |
| = + + |
| o = o S . |
| + = + * |
| = o o . |
| . . |
| E |
+-----------------+
Spróbuj uzyskać dostęp do pary kluczy, wprowadzając poprawne hasło. Zauważ, że klucz publiczny zostanie wyświetlony, a status wyjścia ( $?) będzie 0oznaczał sukces:
Spróbuj uzyskać dostęp do pary kluczy, wprowadzając niepoprawne hasło. Zauważ, że wyświetlony zostanie komunikat o błędzie „ładowanie nie powiodło się” (komunikat może się różnić w zależności od systemu operacyjnego), a status wyjścia ( $?) będzie 1oznaczać błąd:
Spróbuj uzyskać dostęp do pary kluczy, która nie ma hasła. Zauważ, że nie pojawia się monit o hasło, wyświetlony zostanie klucz publiczny, a status wyjścia ( $?) będzie 0oznaczał sukces:
Jeśli nie ma hasła, po prostu wydrukuje powiązany klucz publiczny.
Kyrremann
1
Dzięki @Kyrremann! Zaktualizowałem odpowiedź, aby to odzwierciedlić.
Rob Bednark,
ssh-keygen -yprosi o plik klucza i oferuje domyślną wartość, gdy kliknięcie przycisku Return będzie zgodne z oczekiwaniami.
Timo
Użyłem ssh-keygen -ysprawdzić hasło mojego klucza ssh. Działało dobrze, ale mój Ubuntu stał się niesamowicie wolny. Większość programów może uruchomić się za minutę lub dłużej, podczas gdy użycie procesora wynosi 100%. Po ponownym uruchomieniu laptopa nie mogłem się zalogować, ponieważ wyświetlenie pulpitu zajęło kilka minut. Wreszcie znalazłem ten problem na Ask Ubuntu . Musiałem zacząć od gnome-keyring-daemonrozwiązania problemu.
Adam Fónagy,
2
Rozszerzając rozwiązanie @ RobBednark na konkretny scenariusz Windows + PuTTY, możesz to zrobić:
Pojawi się monit o podanie starego hasła. Jeśli hasło jest prawidłowe, pojawi się monit o wprowadzenie nowego hasła. Jeśli stare hasło jest nieprawidłowe, pojawi się komunikat „Nie można załadować klucza <...>”.
passphrase
, bez hasła;)Odpowiedzi:
Możesz zweryfikować hasło klucza SSH, próbując załadować je do agenta SSH. W przypadku OpenSSH odbywa się to za pośrednictwem
ssh-add
.Po zakończeniu pamiętaj o rozładowaniu hasła SSH z terminala, uruchamiając go
ssh-add -d
.źródło
ssh-add -d
# restorecon -R -v /home/user
aby sprawdzić, czy to jest problem (chociaż poprzednie polecenie nie powinno powodować żadnych problemów), możesz użyć$ ls -lZR <home_dir>
do zbadania kontekstu. Jeśli nie widziszuser_home_t
w katalogu domowym orazssh_home_t
w.ssh
katalogu iauthorized_keys
pliku, użyj ich,restorecon
aby je naprawić.ssh-keygen -y
wyświetli monit o podanie hasła (jeśli takie istnieje).Jeśli wpiszesz poprawne hasło, wyświetli się powiązany klucz publiczny.
Jeśli wpiszesz nieprawidłowe hasło, wyświetli się
load failed
.Jeśli klucz nie ma hasła, nie poprosi o hasło i natychmiast pokaże powiązany klucz publiczny.
na przykład,
Utwórz nową parę kluczy publiczny / prywatny, z hasłem lub bez:
Teraz sprawdź, czy możesz uzyskać dostęp do pary kluczy:
Poniżej znajduje się rozszerzony przykład pokazujący wyniki.
Utwórz nową parę kluczy publiczny / prywatny, z hasłem lub bez:
Spróbuj uzyskać dostęp do pary kluczy, wprowadzając poprawne hasło. Zauważ, że klucz publiczny zostanie wyświetlony, a status wyjścia (
$?
) będzie0
oznaczał sukces:Spróbuj uzyskać dostęp do pary kluczy, wprowadzając niepoprawne hasło. Zauważ, że wyświetlony zostanie komunikat o błędzie „ładowanie nie powiodło się” (komunikat może się różnić w zależności od systemu operacyjnego), a status wyjścia (
$?
) będzie1
oznaczać błąd:Spróbuj uzyskać dostęp do pary kluczy, która nie ma hasła. Zauważ, że nie pojawia się monit o hasło, wyświetlony zostanie klucz publiczny, a status wyjścia (
$?
) będzie0
oznaczał sukces:źródło
ssh-keygen -y
prosi o plik klucza i oferuje domyślną wartość, gdy kliknięcie przycisku Return będzie zgodne z oczekiwaniami.ssh-keygen -y
sprawdzić hasło mojego klucza ssh. Działało dobrze, ale mój Ubuntu stał się niesamowicie wolny. Większość programów może uruchomić się za minutę lub dłużej, podczas gdy użycie procesora wynosi 100%. Po ponownym uruchomieniu laptopa nie mogłem się zalogować, ponieważ wyświetlenie pulpitu zajęło kilka minut. Wreszcie znalazłem ten problem na Ask Ubuntu . Musiałem zacząć odgnome-keyring-daemon
rozwiązania problemu.Rozszerzając rozwiązanie @ RobBednark na konkretny scenariusz Windows + PuTTY, możesz to zrobić:
Wygeneruj parę kluczy SSH z PuTTYgen (po ręcznym wygenerowaniu klucza SSH w Windows ), zapisując go w pliku PPK;
Z menu kontekstowego w Eksploratorze Windows wybierz Edytuj za pomocą PuTTYgen. Pojawi się monit o podanie hasła.
Jeśli wpiszesz nieprawidłowe hasło, wyświetli się ponownie.
Uwaga, jeśli chcesz wpisać, należy użyć następującego polecenia w folderze, który zawiera plik PPK:
puttygen private-key.ppk -y
.źródło
Użyj „ssh-keygen -p”. Możesz dodać „-f”
Pojawi się monit o podanie starego hasła. Jeśli hasło jest prawidłowe, pojawi się monit o wprowadzenie nowego hasła. Jeśli stare hasło jest nieprawidłowe, pojawi się komunikat „Nie można załadować klucza <...>”.
źródło
Jeśli Twoim hasłem jest odblokowanie klucza SSH, a nie masz go
ssh-agent
, ale masz na swoim komputerze sshd (demon SSH):Gdzie
~/.ssh/id_rsa.pub
jest klucz publiczny i~/.ssh/id_rsa
klucz prywatny.źródło