Come disabilitare il portachiavi per SSH e GPG?


19

Come disabilitare il portachiavi per SSH e GPG?

Vorrei conservare il portachiavi per il wifi e altre cose. Sto usando Ubuntu 12.04.


1
Non puoi semplicemente rifiutare di salvare quelle password sul portachiavi? Per ssh standard, non salverà la password se non la imposti in modo specifico, nella mia esperienza.
Marty Fried,

Non lo so. C'è un modo per ripristinare il portachiavi. Per testarlo? Il titolo nell'argomento conteneva Ubuntu 12.04 LTS, ma @ jorge-castro lo ha cambiato.
brodul,

Il portachiavi non è cambiato molto da un po 'di tempo, ma l'ho aggiunto alla domanda per chiarezza, non è necessario che ingombra il titolo, poiché la risposta probabilmente si applicherà a più versioni.
Jorge Castro,

Ci scusiamo per la domanda noob, ma qual è la tua motivazione per disabilitare il portachiavi per SSH?
Stephane

1
@Stephane Non posso parlare per OP ma non voglio che un'informazione così critica sia esposta in alcun modo. Preferirei inserire la mia password della chiave ssh ogni volta che mi collego a un server, piuttosto che il keyring che la memorizza, consentendo a qualsiasi programma e ogni persona nel mio spazio utente di accedere arbitrariamente a ssh. Questo non ha senso per tutti gli altri, ovviamente, ma anche qui la motivazione è comprensibile
phil294

Risposte:


12

Per prima cosa duplica il file /etc/xdg/autostart/gnome-keyring-ssh.desktopin ~/.config/autostart/.

Quindi modifica ~/.config/autostart/gnome-keyring-ssh.desktopper rimuovere la seguente riga:

NoDisplay=true

e per aggiungere la seguente riga alla fine:

X-GNOME-Autostart-enabled=false

Ciò dovrebbe disabilitare la gestione SSH al riavvio della sessione. Per disabilitare GPG, fai lo stesso con il file /etc/xdg/autostart/gnome-keyring-gpg.desktop.


Grazie, questo finalmente risolve il problema.
Brodul,

7

In una sessione terminale (usando Ctrl- Alt- T) è possibile interrompere il processo di gnome-keyring dal funzionamento con ssh usando:

unset SSH_AUTH_SOCK 

L' --no-use-agentopzione è disponibile per gpg per evitare di usare il processo portachiavi gnome con gpg, tuttavia questo è il valore predefinito.

Puoi impedire a nautilus seahorse-tool di usare l'agente gpg usando:

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

Puoi interrompere completamente il processo keyring gnome con il comando:

kill $GNOME_KEYRING_PID

Ognuna delle azioni sopra è ripristinata effettuando nuovamente l'accesso.


Le password Wifi disponibili per tutti gli userid sono memorizzate nella /etc/NetworkManager/system-connections/directory anziché essere archiviate nel tuo portachiavi gnome, quindi possono rimanere disponibili se uccidi il processo gnome-keyring.

Il ssh-addcomando può essere utilizzato per eliminare (o aggiungere) chiavi specifiche da / per il portachiavi gnome corrente mentre il processo di portachiavi è in esecuzione.

Le password delle singole chiavi possono essere eliminate dall'account di accesso o da altri portachiavi utilizzando la Passwordsscheda del Passwords and Keysprogramma (cavalluccio marino).

Se il portachiavi gnome non è presente, ssh-agent sarà ancora in esecuzione, ma non memorizza le chiavi gpg.


Sono presenti due righe per il /etc/pam.d/lightdmsalvataggio della password di accesso e l'avvio del demone gnome-keyring con il portachiavi di accesso sbloccato con la password di accesso. Il secondo avvia il demone:

session optional        pam_gnome_keyring.so auto_start

Commentando solo questa riga si impedirebbe l'avvio di tutte le sessioni di tutti gli utenti del sistema utilizzando la password di accesso per sbloccare il portachiavi di accesso.

/etc/xdg/autostart/contiene le voci di avvio per varie categorie di segreti che gnome-keyring può gestire. Per impedire al demone di avviare questi componenti, questi file possono essere spostati da questa directory. Puoi spostare tutti i file gnome-keyring- * per fermare l'avvio del demone o semplicemente rifiutare di fornire nuovamente la password di accesso per disabilitare il keyring di accesso lasciando il demone in esecuzione.


unset SSH_AUTH_SOCK funziona. Tnx. C'è un modo per disinserirlo per tutte le sessioni? Uso Enigmail per Thunderbird e c'è un problema con enigmail (non dimentica la password).
Brodul,

C'è un modo per disabilitare il portachiavi all'avvio. (Non voglio davvero scrivere una sceneggiatura uccidendo il portachiavi).
Brodul,

Ho modificato la risposta con alcune ulteriori informazioni che potrebbero essere utili, tuttavia potrebbe essere meglio chiedere una elusione di Enigmail direttamente in una domanda separata, essendo esplicito su ciò che desideri.
John S Gruber,

Puoi svuotare il portachiavi (dimentica le tue password, sia gpg che ssh e altri) gnome-keyring-daemon -r -d. Questo è un modo semplice per riavviare il demone. Un possibile problema è che se non era in esecuzione in primo luogo, si avvierà (non conosco un buon modo per riavviarlo solo se è già in esecuzione, tranne per l'analisi ps: /)
unhammer

2

Per impedire a gnome-keyring di avviare il suo ( rotto ) agente SSH su 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

Vedo che la tua ultima riga sta utilizzando il fatto che /usr/share/upstart/sessions/gnome-keyring-ssh.conf cerca quella riga ed esce immediatamente prima di esportare SSH_AUTH_SOCK, penso che non sia necessario il ~ / .config / upstart file / directory se si aggiunge anche Hidden=trueal file .desktop. Fondamentalmente, questo maschera il collegamento "reale" (di sistema) da tutti i desktop, anche quelli a cui normalmente potrebbe essere applicato come GNOME / Unity. Lo proverò a breve poiché ho cercato un modo pulito per disabilitare gnome-keyring-ssh senza influire sulle altre funzioni.
dragon788,

1

Con l'attuale versione di Ubuntu, la modifica del .desktopfile menzionato in altre risposte non è più sufficiente. È stato aggiunto anche un ulteriore processo di avvio che inizia gnome-keyring-daemon. Il file si trova in /usr/share/upstart/sessions/gnome-keyring.confe contiene:

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

Qui il demone deve essere limitato per fornire solo alcuni servizi aggiungendo --components=pkcs11,secretsalla riga di comando. Le initctllinee possono anche essere rimosse, risultando in:

eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets)" >/dev/null

1
Come posso sovrascrivere questo file per utente senza modificare il file di sistema?
dolmen,

La modifica di un file di sistema è una cattiva pratica. Vedi la mia risposta.
dolmen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.