Como desativar o chaveiro para SSH e GPG?

19

Como desativar o chaveiro para SSH e GPG?

Gostaria de manter o chaveiro para o wifi e outras coisas. Estou usando o Ubuntu 12.04.

brodul
fonte
11
Você não pode simplesmente recusar-se a salvar essas senhas no chaveiro? Para ssh padrão, ela não salvará a senha, a menos que você a configure dessa maneira especificamente, na minha experiência.
Marty Fried
Eu não sei. Existe uma maneira de redefinir o chaveiro. Para testá-lo? O título do tópico continha o Ubuntu 12.04 LTS, mas o @ jorge-castro mudou.
brodul
O chaveiro não mudou muito há algum tempo, mas eu o adicionei à questão para maior clareza, sem a necessidade de desorganizar o título, pois a resposta provavelmente se aplicará a várias versões.
Jorge Castro
Desculpe pela pergunta noob, mas qual é a sua motivação para desativar o chaveiro para SSH?
Stephane
11
@ Stephanie Eu não posso falar pelo OP, mas não quero uma informação tão crítica exposta de forma alguma. Prefiro inserir minha senha de chave ssh toda vez que conectar-me a algum servidor, do que o chaveiro armazená-lo, permitindo que qualquer programa e todas as pessoas no meu espaço de usuário acessem arbitrariamente o ssh. Isso não faz sentido para todos os outros, é claro, mas a motivação aqui é compreensível
phil294

Respostas:

12

Primeiro duplique o arquivo /etc/xdg/autostart/gnome-keyring-ssh.desktopem ~/.config/autostart/.

Edite a ~/.config/autostart/gnome-keyring-ssh.desktopfim remover a seguinte linha:

NoDisplay=true

e para adicionar a seguinte linha no final:

X-GNOME-Autostart-enabled=false

Isso deve desativar o gerenciamento SSH quando você reiniciar sua sessão. Para desativar o GPG, faça o mesmo com o arquivo /etc/xdg/autostart/gnome-keyring-gpg.desktop.

Pierre-Antoine
fonte
Tnx, isso finalmente resolve o problema.
Brodul
7

Em uma sessão de terminal (usando Ctrl- Alt- T), você pode interromper o processo do gnome-keyring de trabalhar com ssh usando:

unset SSH_AUTH_SOCK 

A --no-use-agentopção está disponível para o gpg para evitar o uso do processo de gnome-keyring com o gpg, no entanto, esse é o padrão.

Você pode impedir que a ferramenta seahorse-nautilus use o gpg-agent usando:

rm `echo $GPG_AGENT_INFO | sed s/:0:1//`

Você pode interromper completamente o processo do gnome-keyring com o comando:

kill $GNOME_KEYRING_PID

Cada uma das ações acima é restaurada efetuando login novamente.


As senhas Wi-Fi disponíveis para todos os IDs de usuário são armazenadas no /etc/NetworkManager/system-connections/diretório em vez de armazenadas no chaveiro do gnome, para que possam permanecer disponíveis se você interromper o processo do chaveiro do gnome.

O ssh-addcomando pode ser usado para excluir (ou adicionar) chaves específicas de / para o atual gnome-keyring enquanto o processo do keyring estiver em execução.

As senhas de chave individuais podem ser excluídas do login ou outro chaveiro usando a Passwordsguia do Passwords and Keysprograma (cavalo-marinho).

Se o gnome-keyring não estiver presente, o ssh-agent ainda estará em execução, mas não armazenará chaves gpg.


Existem duas linhas /etc/pam.d/lightdmenvolvidas para salvar a senha de login e iniciar o gnome-keyring-daemon com o chaveiro de login desbloqueado com a senha de login. O segundo inicia o daemon:

session optional        pam_gnome_keyring.so auto_start

Comentar apenas esta linha impediria o início de todas as sessões de todos os usuários do seu sistema usando a senha de login para desbloquear o chaveiro de login.

/etc/xdg/autostart/contém entradas de início para várias categorias de segredos que o gnome-keyring pode manipular. Para parar o daemon de iniciar esses componentes, esses arquivos podem ser movidos para fora deste diretório. Você pode mover todos os arquivos gnome-keyring- * para interromper a inicialização do daemon ou pode simplesmente se recusar a fornecer a senha de login novamente para desativar o chaveiro de login enquanto deixa o daemon em execução.

John S Gruber
fonte
desmarcar SSH_AUTH_SOCK funciona. Tnx. Existe uma maneira de desmarcá-lo para todas as sessões? Eu uso o Enigmail para Thunderbird e há um problema com o enigmail (ele não esquece a senha).
Brodul
Existe uma maneira de desativar o chaveiro na inicialização. (Eu realmente não quero escrever um script matando o chaveiro).
Brodul
Eu editei a resposta com mais algumas informações que podem ser úteis, no entanto, pode ser melhor solicitar uma evasão do Enigmail diretamente em uma pergunta separada, sendo explícito sobre o que você deseja.
John S Gruber
Você pode liberar o chaveiro (esqueça suas senhas, gpg e ssh e outras) fazendo isso gnome-keyring-daemon -r -d. Essa é uma maneira simples de reiniciar o daemon. Um possível problema é que se ele não estava correndo, em primeiro lugar, ele vai iniciar-se (eu não sei uma boa maneira de apenas reiniciá-lo se ele já está em execução, exceto analisar ps: /)
unhammer
2

Para impedir que o gnome-keyring inicie seu agente SSH ( quebrado ) no Ubuntu 16.04:

mkdir ~/.config/upstart || true
echo manual > ~/.config/upstart/gnome-keyring-ssh.override

# This step can be done with the gnome-session-properties tool
mkdir ~/.config/autostart || true
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart
echo 'X-GNOME-Autostart-enabled=false' >> ~/.config/autostart/gnome-keyring-ssh.desktop
dolmen
fonte
Vejo que sua última linha está utilizando o fato de que /usr/share/upstart/sessions/gnome-keyring-ssh.conf procura essa linha e sai imediatamente antes de exportar o SSH_AUTH_SOCK, acho que você não precisa do ~ / .config / upstart file / directory se você também anexa Hidden=trueao arquivo .desktop. Isso basicamente mascara o atalho "real" (sistema) de todas as áreas de trabalho, mesmo as que normalmente podem ser aplicadas como o GNOME / Unity. Testarei isso em breve, pois estou procurando uma maneira limpa de desativar o gnome-keyring-ssh sem afetar as outras funções.
precisa saber é o seguinte
1

Com a versão atual do Ubuntu, alterar o .desktoparquivo mencionado em outras respostas não é mais suficiente. Foi adicionado um trabalho inicial adicional que também é iniciado gnome-keyring-daemon. O arquivo está localizado /usr/share/upstart/sessions/gnome-keyring.confe contém:

eval "$(gnome-keyring-daemon --start)" >/dev/null
initctl set-env --global SSH_AUTH_SOCK=$SSH_AUTH_SOCK
initctl set-env --global GPG_AGENT_INFO=$GPG_AGENT_INFO

Aqui o daemon precisa ser restrito para fornecer apenas alguns serviços adicionando --components=pkcs11,secretsà linha de comandos. As initctllinhas também podem ser removidas, resultando em:

eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets)" >/dev/null
sth
fonte
11
Como posso substituir esse arquivo por usuário sem modificar o arquivo do sistema?
Dolmen #
Alterar um arquivo do sistema é uma má prática. Veja minha própria resposta.
Dolmen