Penso di aver dimenticato la passphrase per la mia chiave SSH, ma ho il sospetto di quale potrebbe essere. Come posso verificare se ho ragione?
Penso di aver dimenticato la passphrase per la mia chiave SSH, ma ho il sospetto di quale potrebbe essere. Come posso verificare se ho ragione?
Risposte:
È possibile verificare la passphrase della chiave SSH tentando di caricarla nel proprio agente SSH. Con OpenSSH questo avviene tramite ssh-add
.
Una volta terminato, ricordati di scaricare la passphrase SSH dal terminale eseguendo ssh-add -d
.
ssh-add -d
# restorecon -R -v /home/user
per verificare se questo è il problema (sebbene il comando precedente non dovrebbe causare problemi), puoi usare $ ls -lZR <home_dir>
per esaminare il contesto. Se non vedi user_home_t
nella home directory e ssh_home_t
nella .ssh
directory e nel authorized_keys
file, usa restorecon
per ripararli.
ssh-keygen -y
ssh-keygen -y
ti chiederà la passphrase (se ce n'è una).
Se inserisci la passphrase corretta , ti mostrerà la chiave pubblica associata.
Se si immette la passphrase errata , verrà visualizzata load failed
.
Se la chiave non ha alcun passphrase, lo farà non richiederà una passphrase e sarà immediatamente vi mostrerà la chiave pubblica associata.
per esempio,
Crea una nuova coppia di chiavi pubblica / privata, con o senza passphrase:
$ ssh-keygen -f /tmp/my_key
...
Ora vedi se riesci ad accedere alla coppia di chiavi:
$ ssh-keygen -y -f /tmp/my_key
Di seguito è riportato un esempio esteso, che mostra l'output.
Crea una nuova coppia di chiavi pubblica / privata, con o senza passphrase:
$ 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 rob@Robs-MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
| .+ |
| . . o |
| = . + |
| = + + |
| o = o S . |
| + = + * |
| = o o . |
| . . |
| E |
+-----------------+
Tentare di accedere alla coppia di chiavi immettendo la passphrase corretta. Si noti che verrà mostrata la chiave pubblica e lo stato di uscita ( $?
) 0
indicherà il successo:
$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBJhVYDYxXOvcQw0iJTPY64anbwSyzI58hht6xCGJ2gzGUJDIsr1NDQsclka6s0J9TNhUEBBzKvh9nTAYibXwwhIqBwJ6UwWIfA3HY13WS161CUpuKv2A/PrfK0wLFBDBlwP6WjwJNfi4NwxA21GUS/Vcm/SuMwaFid9bM2Ap4wZIahx2fxyJhmHugGUFF9qYI4yRJchaVj7TxEmquCXgVf4RVWnOSs9/MTH8YvH+wHP4WmUzsDI+uaF1SpCyQ1DpazzPWAQPgZv9R8ihOrItLXC1W6TPJkt1CLr/YFpz6vapdola8cRw6g/jTYms00Yxf2hn0/o8ORpQ9qBpcAjJN
$ echo $?
0
Tentare di accedere alla coppia di chiavi immettendo una passphrase errata. Si noti che verrà visualizzato il messaggio di errore "caricamento non riuscito" (il messaggio potrebbe differire in base al sistema operativo) e lo stato di uscita ( $?
) 1
indicherà un errore:
$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
load failed
$ echo $?
1
Tentativo di accedere a una coppia di chiavi senza passphrase. Si noti che non è richiesta la passphrase, verrà visualizzata la chiave pubblica e lo stato di uscita ( $?
) 0
indicherà l'esito positivo:
$ ssh-keygen -y -f /tmp/my_key_with_no_passphrase
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLinxx9T4HE6Brw2CvFacvFrYcOSoQUmwL4Cld4enpg8vEiN8DB2ygrhFtKVo0qMAiGWyqz9gXweXhdmAIsVXqhOJIQvD8FqddA/SMgqM++2M7GxgH68N+0V+ih7EUqf8Hb2PIeubhkQJQGzB3FjYkvRLZqE/oC1Q5nL4B1L1zDQYPSnQKneaRNG/NGIaoVwsy6gcCZeqKHywsXBOHLF4F5nf/JKqfS6ojStvzajf0eyQcUMDVhdxTN/hIfEN/HdYbOxHtwDoerv+9f6h2OUxZny1vRNivZxTa+9Qzcet4tkZWibgLmqRyFeTcWh+nOJn7K3puFB2kKoJ10q31Tq19
$ echo $?
0
ssh-keygen -y
chiede il file chiave e offre un valore predefinito quando si fa clic sul ritorno come ci si aspetterebbe.
ssh-keygen -y
per controllare la passphrase della mia chiave SSH. Funzionava bene, tranne che il mio Ubuntu è diventato incredibilmente lento. La maggior parte dei programmi potrebbe avviarsi in un minuto o più mentre l'utilizzo della CPU era del 100%. Dopo aver riavviato il mio laptop non sono riuscito ad accedere in quanto ci sono voluti pochi minuti per vedere il mio desktop. Finalmente ho trovato questo problema su Ask Ubuntu . Ho dovuto iniziare gnome-keyring-daemon
per risolvere il problema.
Estendendo la soluzione di @ RobBednark a uno specifico scenario Windows + PuTTY, puoi farlo:
Genera coppia di chiavi SSH con PuTTYgen (seguendo la generazione manuale della chiave SSH in Windows ), salvandola in un file PPK;
Con il menu di scelta rapida in Esplora risorse, scegli Modifica con PuTTYgen. Richiederà una password.
Se si digita la password errata, verrà richiesto nuovamente.
Nota, se ti piace scrivere, utilizzare il seguente comando su una cartella che contiene il file PPK: puttygen private-key.ppk -y
.
Se la tua passphrase deve sbloccare la tua chiave SSH e non hai ssh-agent
, ma hai sshd (il demone SSH) installato sul tuo computer, fai:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;
ssh localhost -i ~/.ssh/id_rsa
Dov'è ~/.ssh/id_rsa.pub
la chiave pubblica ed ~/.ssh/id_rsa
è la chiave privata.
passphrase
, nessuna password;)