Cosa fa esattamente ssh-add?


15

Recentemente ho reinstallato il mio laptop e ho scoperto che 'git clone' non funzionava. Stavo costantemente ricevendo Permission denied (publickey).errori.

La correzione è documentata sulla pagina dei problemi SSH di GitHub : usa ssh-addper comunicare a SSH la chiave che voglio usare per autenticarmi su GitHub.

La mia domanda è: sotto il cofano, cosa fa ssh-addrealmente?

Ho intenzione di espandere la mia comprensione di SSH per un po ', e questa sembra una buona scusa per iniziare :-)

Risposte:


21

ssh-addaggiunge le identità della chiave privata (dalla tua ~/.sshdirectory) all'agente di autenticazione ( ssh-agent), in modo che l'agente ssh possa occuparsi dell'autenticazione per te e tu non abbia digitato le password sul terminale.


Sarò onesto, questo mi ha confuso per un po '. Ho pensato che il client ssh usasse sempre la chiave nella tua ~/.sshdirectory. Alcune distro equivalgono ssh-addautomaticamente? Forse è per questo che ero confuso?
blong

4
sshusa la chiave nella ~/.sshdirectory, ma se la chiave è protetta da una passphrase, questa passphrase deve essere inserita ad un certo punto. Se usi ssh-agente ssh-add, digiti questa passphrase una volta. Altrimenti è necessario digitare la passphrase ogni volta che si utilizza ssh. Se la chiave non è protetta da password, è possibile utilizzare sshsenza che sia richiesta una passphrase.
Peter John Acklam,

Possono esserci più chiavi SSH ~/.sshe questa potrebbe essere la cosa più utile da avere, vedi su SO e documenti bitbucket
Frank Nocke,

0

Sulla base di questo articolo su Github , a volte su alcune distribuzioni di Linux anche dopo aver impostato tutto correttamente, viene visualizzato questo errore:

Agent admitted failure to sign using the key.
debug1: No more authentication methods to try.
Permission denied (publickey).

E dovresti correre ssh-addper risolvere il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.