Co dokładnie robi ssh-add?


15

Niedawno ponownie zainstalowałem laptopa i stwierdziłem, że „git clone” nie działa. Konsekwentnie otrzymywałem Permission denied (publickey).błędy.

Poprawka jest udokumentowana na stronie problemów SSH w GitHub : użyj, ssh-addaby powiedzieć SSH o kluczu, którego chcę użyć do uwierzytelnienia w GitHub.

Moje pytanie brzmi: co ssh-addwłaściwie robi?

Od jakiegoś czasu zamierzam poszerzyć moją wiedzę na temat SSH i wydaje się to dobrą wymówką, aby zacząć :-)

Odpowiedzi:


21

ssh-adddodaje tożsamość klucza prywatnego (z ~/.sshkatalogu) do agenta uwierzytelniania ( ssh-agent), aby agent ssh mógł zająć się uwierzytelnieniem za Ciebie i nie musisz wpisywać haseł w terminalu.


Będę szczery, to mnie na chwilę pomieszało. Myślałem, że klient ssh zawsze używał klucza w twoim ~/.sshkatalogu. Czy niektóre dystrybucje wykonują odpowiednik ssh-addautomatycznie? Może dlatego byłem zdezorientowany?
blong

4
sshużywa klucza z ~/.sshkatalogu, ale jeśli klucz jest chroniony hasłem, hasło to musi zostać wprowadzone w pewnym momencie. Jeśli używasz ssh-agenti ssh-add, wpisujesz to hasło raz. W przeciwnym razie musisz wpisać hasło przy każdym użyciu ssh. Pamiętaj, że jeśli klucz nie jest chroniony hasłem, możesz z niego korzystać sshbez pytania o hasło.
Peter John Acklam,

Może być wiele kluczy ssh ~/.sshi może to być bardziej przydatna rzecz, zobacz w dokumentach
Frank Nocke

0

Na podstawie tego artykułu w github , w niektórych dystrybucjach Linuksa nawet po prawidłowym skonfigurowaniu wszystkiego pojawia się ten błąd:

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

I powinieneś biec, ssh-addaby rozwiązać problem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.