Comment désactiver le trousseau de clés pour SSH et GPG?

19

Comment désactiver le trousseau de clés pour SSH et GPG?

Je voudrais garder le trousseau de clés pour le wifi et d'autres trucs. J'utilise Ubuntu 12.04.

brodul
la source
1
Ne pouvez-vous pas simplement refuser d'enregistrer ces mots de passe sur le trousseau de clés? Pour ssh standard, il n'enregistrera pas le mot de passe à moins que vous ne l'ayez configuré spécifiquement, selon mon expérience.
Marty Fried
Je ne sais pas. Existe-t-il un moyen de réinitialiser le trousseau de clés. Pour le tester? Le titre du sujet contenait Ubuntu 12.04 LTS, mais @ jorge-castro l'a changé.
brodul
Le porte-clés n'a pas beaucoup changé depuis longtemps, mais je l'ai ajouté à la question pour plus de clarté, pas besoin d'encombrer le titre, car la réponse s'appliquera probablement à plusieurs versions.
Jorge Castro
Désolé pour la question noob, mais quelle est votre motivation pour désactiver le trousseau de clés pour SSH?
Stephane
1
@Stephane Je ne peux pas parler pour OP mais je ne veux pas qu'une information aussi critique soit exposée de quelque façon que ce soit. Je préfère saisir mon mot de passe de clé ssh chaque fois que je me connecte à un serveur, plutôt que le trousseau le stockant, permettant à n'importe quel programme et à chaque personne de mon espace utilisateur d'accéder à ssh de façon arbitraire. Cela n'a pas de sens pour tout le monde, bien sûr, mais la motivation ici est compréhensible
phil294

Réponses:

12

Dupliquez d'abord le fichier /etc/xdg/autostart/gnome-keyring-ssh.desktopdans ~/.config/autostart/.

Modifiez ensuite ~/.config/autostart/gnome-keyring-ssh.desktopafin de supprimer la ligne suivante:

NoDisplay=true

et pour ajouter la ligne suivante à la fin:

X-GNOME-Autostart-enabled=false

Cela devrait désactiver la gestion SSH lorsque vous redémarrez votre session. Pour désactiver GPG, faites de même avec le fichier /etc/xdg/autostart/gnome-keyring-gpg.desktop.

Pierre-Antoine
la source
Tnx, cela résout enfin le problème.
brodul
7

Dans une session de terminal (en utilisant Ctrl- Alt- T), vous pouvez arrêter le processus gnome-keyring de travailler avec ssh en utilisant:

unset SSH_AUTH_SOCK 

L' --no-use-agentoption est disponible pour gpg pour éviter d'utiliser le processus gnome-keyring avec gpg, mais c'est la valeur par défaut.

Vous pouvez empêcher le nautilus seahorse-tool d'utiliser l'agent gpg en utilisant:

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

Vous pouvez arrêter complètement le processus gnome-keyring avec la commande:

kill $GNOME_KEYRING_PID

Chacune des actions ci-dessus est restaurée en vous reconnectant.


Les mots de passe Wifi disponibles pour tous les utilisateurs sont stockés dans le /etc/NetworkManager/system-connections/répertoire plutôt que d'être stockés dans votre trousseau de clés gnome, afin qu'ils puissent rester disponibles si vous tuez le processus gnome-trousseau.

La ssh-addcommande peut être utilisée pour supprimer (ou ajouter) des clés spécifiques de / au gnome-keyring actuel pendant que le processus de trousseau de clés est en cours d'exécution.

Les mots de passe de clés individuelles peuvent être supprimés de la connexion ou d'un autre trousseau de clés à l'aide de l' Passwordsonglet du Passwords and Keysprogramme (hippocampe).

Si le gnome-keyring n'est pas présent, ssh-agent sera toujours en cours d'exécution, mais il ne stocke pas les clés gpg.


L' /etc/pam.d/lightdmenregistrement du mot de passe de connexion et le démarrage du gnome-keyring-daemon avec le trousseau de clés de connexion déverrouillé avec le mot de passe de connexion nécessitent deux lignes . La seconde démarre le démon:

session optional        pam_gnome_keyring.so auto_start

La simple mise en commentaire de cette ligne l'empêcherait de démarrer pour toutes les sessions de tous les utilisateurs de votre système en utilisant le mot de passe de connexion pour déverrouiller le trousseau de connexion.

/etc/xdg/autostart/contient des entrées de démarrage pour différentes catégories de secrets que gnome-keyring peut gérer. Pour empêcher le démon de démarrer ces composants, ces fichiers peuvent être déplacés hors de ce répertoire. Vous pouvez déplacer tous les fichiers gnome-keyring- * pour arrêter le démarrage du démon ou simplement refuser de fournir à nouveau le mot de passe de connexion pour désactiver le trousseau de connexion tout en laissant le démon en cours d'exécution.

John S Gruber
la source
unset SSH_AUTH_SOCK fonctionne. Tnx. Existe-t-il un moyen de le désactiver pour toutes les sessions? J'utilise Enigmail pour Thunderbird et il y a un problème avec enigmail (il n'oublie pas le mot de passe).
brodul
Existe-t-il un moyen de désactiver le trousseau de clés au démarrage. (Je ne veux vraiment pas écrire un script tuant le trousseau).
brodul
J'ai édité la réponse avec quelques informations supplémentaires qui peuvent être utiles, mais il peut être préférable de demander un contournement d'Enigmail directement dans une question distincte, en étant explicite sur ce que vous voulez.
John S Gruber
Vous pouvez vider le trousseau de clés (oubliez vos mots de passe, gpg et ssh et autres) en faisant gnome-keyring-daemon -r -d. C'est un moyen simple de redémarrer le démon. Un problème possible est que s'il ne fonctionnait pas en premier lieu, il démarrera (je ne connais pas un bon moyen de le redémarrer uniquement s'il est déjà en cours d'exécution, sauf en analysant ps: /)
unhammer
2

Pour empêcher gnome-keyring de démarrer son agent SSH ( cassé ) sur 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
la source
Je vois que votre dernière ligne utilise le fait que /usr/share/upstart/sessions/gnome-keyring-ssh.conf recherche cette ligne et se termine immédiatement avant d'exporter SSH_AUTH_SOCK, je pense que vous n'avez pas besoin du ~ / .config / upstart file / directory si vous ajoutez également Hidden=truele fichier .desktop. Cela masque fondamentalement le raccourci "réel" (système) de tous les bureaux, même ceux auxquels il pourrait normalement s'appliquer comme GNOME / Unity. Je vais tester cela sous peu car je cherchais un moyen propre de désactiver gnome-keyring-ssh sans affecter les autres fonctions.
dragon788
1

Avec la version actuelle d'Ubuntu, changer le .desktopfichier mentionné dans d'autres réponses n'est plus suffisant. Un travail supplémentaire parvenu a été ajouté qui démarre également gnome-keyring-daemon. Le fichier se trouve dans /usr/share/upstart/sessions/gnome-keyring.confet contient:

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

Ici, le démon doit être restreint pour ne fournir que certains services en ajoutant --components=pkcs11,secretsà la ligne de commande. Les initctllignes peuvent également être supprimées, ce qui entraîne:

eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets)" >/dev/null
qch
la source
1
Comment puis-je remplacer ce fichier par utilisateur sans modifier le fichier système?
dolmen
La modification d'un fichier système est une mauvaise pratique. Voir ma propre réponse.
dolmen