Estou usando o Linux Mint e não foi possível obter o gnome-keyring para desbloquear automaticamente no login, ao que parece.
Um sintoma do meu problema é o seguinte:
$ 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
Como posso fazer com que o git possa empurrar / puxar sem nenhuma entrada de senha da minha parte?
Sei que há várias coisas aqui com o gnome-keyring e o ssh-agent, mas não consegui identificá-lo.
A execução ssh-add
durante uma sessão significa que não sou mais solicitada minha senha para SSH / git.
O problema é que eu precisaria executar ssh-add
durante cada sessão - devo estar sentindo falta de como desbloquear o chaveiro do Gnome no login.
$ export | grep GNOME
GNOME_KEYRING_CONTROL=/tmp/keyring-hjMM4V
GNOME_KEYRING_PID=1961
Aconteceu novamente durante a mesma sessão da primeira edição. Eu fiz git pull
e consegui 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
fonte
export | grep GNOME
e postar os resultados. Você viu esse bug?gnome-keyring
desbloquear automaticamente no login.env | grep SSH
eps -fp $SSH_AGENT_PID
zsh
e emtmux
execução (apenas para mencionar isso).Respostas:
O que deve acontecer é:
Você inicia uma sessão do gnome, parte da qual um daemon do gnome-keyring (que também atua como um agente ssh) é iniciado e o ambiente de qualquer coisa iniciada durante a sessão do gnome é atualizado com informações sobre como entrar em contato com esse agente ssh. A senha emitida após o login gráfico é usada para desbloquear o chaveiro padrão.
Quando você usa o gnome-keyring como um agente ssh, não deseja usar outro agente como
ssh-agent
.Quando sua sessão X termina, o mesmo ocorre com o gnome-keyring. Mas sua sessão tmux permanece. Então, mesmo se você iniciar outro gnome-keyring ou ssh-agent, o ambiente dos processos já iniciados
tmux
não poderá falar com ele, a menos que você atualize o ambiente com o caminho do novo soquete.O que você pode fazer é:
E faça
. ~/.gkr
em todas as conchas que você deseja usar o novo chaveiro gnomoCuidado com o DISPLAY ao qual o gnome-keyring-daemon se conectará.
fonte
.gkr
, devo? Como posso ter cuidado com qual monitorgnome-keyring-daemon
vai se conectar?A primeira coisa que eu tentaria é o
apt-get install ssh-askpass-gnome
contrário, se você não tiver esse pacote (ou algum programa alternativo askpass) instalado, o gnome não poderá solicitar sua senha quando precisar desbloquear sua chave.Você também precisará
DISPLAY
definir sua variável corretamente:Além disso, como você está iniciando seu terminal? Pode haver um problema com o modo como você está iniciando a sessão do terminal e se ela é herdada ou não
gnome-session
. Isso pode acontecer quando você usa algum programa gnon-gnome para definir suas ligações de teclas.Presumindo que você use,
gnome-terminal
você pode verificar usandopstree
. Aqui você pode ver a herança correta acontecendo:Considerando que nesta sessão NÃO é herdado de
gnome-session
:Além disso, verifique se
ssh-agent
está sendo iniciado porgnome-session
:fonte
mate-terminal --maximize -e tmux
(que eu presumo ser o gnome-terminal). Além disso,zsh
é então carregado dentrotmux
.ssh-askpass-gnome
foi instalado.$DISPLAY
tem resultado esperado. Para a herança,tmux
está sentadomate-terminal
com nenhuma menção degnome-session
. Em um ramo separado, étmux───zsh───xargs───pstree
. Para responder à sua última pergunta, a saída é:init───mdm───mdm───x-session-manag───ssh-agent
. O que você acha? Obrigado.mate-terminal
herançagnome-session
é o problema. duas perguntas: 1) qual é o resultado depgrep -fl gnome-session
e; 2) que ação você toma para realmente chamar seu terminal? de um menu? de uma ligação de teclas de atalho? ou ????Ctrl+Alt+t
. É um atalho que defini usando o aplicativo Linux MintKeyboard Shortcuts
usando o comando mencionado anteriormente. No entanto , ao iniciarTerminal
o menu principal "Iniciar", o SSH agia de maneira diferente . A GUI do Gnome solicitou minha senha para o meu chaveiro. A opção de salvar essa senha para sessões posteriores estava acinzentada, não consegui selecioná-la. (O comando do iniciador de menus também émate-terminal --maximize -e tmux
.) Isso nos aproxima? Obrigado, aculich.Ctrl+Alt+t
que você definiu nos atalhos de teclado, acho que provavelmente está enfrentando um erro no mdm / MATE. Qual versão do Mint você está executando?Acho problema em armazenar permanentemente chave SSH protegida por senha.
Por favor, dê uma olhada nos seguintes recursos:
fonte
~/.ssh/config
mas isso não foi corrigido.Adicione isso ao seu .bash_profile
fonte
$SSH_AUTH_SOCK
tem um valor de/tmp/ssh-QCndYkdq2025/agent.2025
. Estou esquecendo de algo?$git pull
ainda exibe o prompt da senha SSH.ssh-agent
corretamente após o login, e geralmente são coisas como você que quebram. Se, por algum motivo, seu sistema não funcionarssh-agent
, não faça à mão. Em vez disso, use um chaveiro bem projetado para lidar com esse e outros problemas relacionados. Também funciona para BSD (Mac) e outros sistemas não Linux.