Używam Linux Mint i wydaje mi się, że nie udało mi się uzyskać kluczy gnome do automatycznego odblokowania przy logowaniu.
Objaw mojego problemu jest następujący:
$ ssh-add
Identity added: /home/me/.ssh/id_rsa (/home/me/.ssh/id_rsa)
$ git pull
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-Nmf3J3/pkcs11: No such file or directory
Jak mogę sprawić, że git może pchać / ciągnąć bez żadnego hasła ode mnie?
Zdaję sobie sprawę, że jest tu kilka rzeczy z breloczkiem do gnome i agentem ssh, ale nie udało mi się tego naprawić.
Uruchamianie ssh-add
podczas sesji oznacza, że nie jestem już proszony o podanie hasła do SSH / git.
Problem polega na tym, że musiałbym biegać ssh-add
podczas każdej sesji - brakuje mi sposobu odblokowania kluczy Gnome przy logowaniu.
$ export | grep GNOME
GNOME_KEYRING_CONTROL=/tmp/keyring-hjMM4V
GNOME_KEYRING_PID=1961
Zdarzyło się to ponownie podczas tej samej sesji, co pierwsza edycja. Zrobiłem git pull
i dostałem WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-hjMM4V/pkcs11: No such file or directory
.
$ env | grep SSH
SSH_AGENT_PID=2116
SSH_AUTH_SOCK=/tmp/ssh-OACxJMBY2038/agent.2038
$ ps -fp $SSH_AGENT_PID
UID PID PPID C STIME TTY TIME CMD
eoin 2116 2038 0 09:47 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
źródło
export | grep GNOME
i opublikować wyniki. Widziałeś ten błąd?gnome-keyring
na automatycznym odblokowaniu podczas logowania.env | grep SSH
ips -fp $SSH_AGENT_PID
zsh
itmux
biegam (żeby tylko wspomnieć o tym).Odpowiedzi:
Co ma się wydarzyć to:
Zaczynasz sesję gnome, po części uruchamia się demon kluczy gnome (który działa również jako agent ssh), a środowisko wszystkiego, co uruchomiono podczas tej sesji gnome, jest aktualizowane o informacje o tym, jak skontaktować się z tym agentem ssh. Hasło, które wydajesz podczas graficznego logowania, służy do odblokowania domyślnego breloka.
Kiedy używasz gnome-keyring jako agenta ssh, nie chcesz używać innego agenta, takiego jak
ssh-agent
.Kiedy twoja sesja X zakończy się, tak samo robi gnome-keyring. Ale twoja sesja tmux pozostaje. Wtedy, nawet jeśli uruchomisz inny gnome-keyring lub ssh-agent, środowisko już uruchomionych procesów
tmux
nie będzie w stanie z nim rozmawiać, chyba że zaktualizujesz ich środowisko ścieżką nowego gniazda.Co możesz zrobić to:
I
. ~/.gkr
we wszystkich powłokach, które chcesz użyć nowego klucza do gnomeUważaj jednak na WYŚWIETLANIE, z którym demon gnome-keyring-ma się połączyć.
źródło
.gkr
? Jak mogę się wystrzegać, z którym wyświetlaczgnome-keyring-daemon
będzie się łączyć?Pierwszą rzeczą, którą spróbuję, jest
apt-get install ssh-askpass-gnome
inaczej, jeśli nie masz zainstalowanego tego pakietu (lub innego alternatywnego programu askpass), a następnie gnome nie może poprosić o hasło, gdy musisz odblokować klucz.Musisz także
DISPLAY
odpowiednio ustawić zmienną:Ponadto, jak zaczynasz swój terminal? Może występować problem ze sposobem rozpoczęcia sesji terminalowej i tego, czy ona dziedziczy
gnome-session
. Może się to zdarzyć, gdy użyjesz jakiegoś programu gnon-gnome do ustawienia przypisania klawiszy.Zakładając, że używasz
gnome-terminal
, możesz sprawdzić za pomocąpstree
. Tutaj możesz zobaczyć, jak dzieje się prawidłowe dziedziczenie:Podczas gdy w tej sesji NIE dziedziczy po
gnome-session
:Sprawdź także, czy
ssh-agent
jest uruchamiany przezgnome-session
:źródło
mate-terminal --maximize -e tmux
(które, jak zakładam, to gnome-terminal). Ponadtozsh
jest następnie ładowanytmux
.ssh-askpass-gnome
został zainstalowany.$DISPLAY
oczekiwał wyniku. Dla dziedziczeniatmux
siedzi podmate-terminal
spodem bez rozgłosugnome-session
. Na osobnej gałęzitmux───zsh───xargs───pstree
. Aby odpowiedzieć na to ostatnie pytanie, wyjście jest:init───mdm───mdm───x-session-manag───ssh-agent
. Co myślisz? Dzięki.mate-terminal
dziedziczyszgnome-session
. dwa pytania: 1) jaki jest wynikpgrep -fl gnome-session
i; 2) Jakie działania podejmujesz, aby faktycznie wywołać terminal? z menu? z powiązania skrótu? lub ????Ctrl+Alt+t
. Jest to skrót, który ustawiłem za pomocą aplikacji Linux MintKeyboard Shortcuts
za pomocą wcześniej wspomnianego polecenia. Jednak podczas uruchamianiaTerminal
za pośrednictwem głównego menu „Start” SSH działał inaczej . GUI Gnome poprosiło mnie o podanie hasła do mojego breloka. Opcja zapisania tego hasła dla późniejszych sesji była wyszarzona, nie mogłem go wybrać. (Również polecenie uruchamiania menumate-terminal --maximize -e tmux
.) Czy to nas zbliża? Dzięki, Aculich.Ctrl+Alt+t
ustawionymi w Skrótach klawiszowych, to myślę, że prawdopodobnie masz błąd w mdm / MATE. Z jakiej wersji Mint korzystasz?Myślę, że problem z trwałym przechowywaniem klucza SSH chronionego hasłem.
Proszę spojrzeć na następujące zasoby:
źródło
~/.ssh/config
ale to nie naprawiło tego.Dodaj to do swojego .bash_profile
źródło
$SSH_AUTH_SOCK
ma wartość/tmp/ssh-QCndYkdq2025/agent.2025
. Czy coś brakuje?$git pull
nadal wyświetla monit o hasło SSH.ssh-agent
poprawnie obsługuje się po zalogowaniu od razu po wyjęciu z pudełka i zwykle są to takie rzeczy, które je psują. Jeśli z jakiegoś powodu twój system nie obsługujessh-agent
, nie rób tego ręcznie. Zamiast tego użyj pęku kluczy, który jest dobrze zaprojektowany do obsługi tego i powiązanych problemów. Działa również dla BSD (Mac) i innych systemów innych niż Linux.