Come inserire la password predefinita del keyring tramite la riga di comando?


12

Esiste un modo per inserire la password predefinita del keyring usando la riga di comando?

Per esempio:

Hai una configurazione remota di Ubuntu 10.10 impostata per l'accesso automatico. Non si desidera rimuovere la password del keyring.

Va bene il sistema si avvia e accede automaticamente, quindi chiede la password del keyring ora a questo punto è possibile creare connessioni ssh ma non è possibile il desktop remoto.

Cosa puoi fare per inserire la password del keyring a questo punto?

Inoltre, per chiarire meglio, ciò proviene da una connessione remota utilizzando la riga di comando.

Risposte:


10

Grazie a python-gnomekeyring , questo è relativamente semplice:

python -c "import gnomekeyring;gnomekeyring.unlock_sync(None, 'my password');"

O come una sceneggiatura corretta:

#!/usr/bin/env python
import gnomekeyring
gnomekeyring.unlock_sync(None, 'my password');

Penso che non sia necessario installare il pacchetto. Ma non può far male provare.


Tieni presente che l'archiviazione della password sul disco rigido rappresenta un rischio per la sicurezza immenso. Dovresti usare questo invece:

#!/usr/bin/env python

import gnomekeyring
import getpass

gnomekeyring.unlock_sync(None, getpass.getpass('Password: '));

È possibile salvare questo script, ad esempio, come unlock-keyring.pye quindi effettuare le seguenti operazioni:

sudo mv unlock-keyring.py /usr/bin/unlock-keyring
sudo chmod a+x /usr/bin/unlock-keyring

Da quel momento, puoi sempre digitare unlock-keyringe ricevere una password. Non farlo con la versione che contiene la tua password .

Puoi sostituirlo Nonecon il nome del tuo portachiavi, ad es 'session'. Se vuoi sbloccarne uno diverso da quello predefinito.


Sto facendo fatica a testarlo correttamente, quindi per favore fatemi sapere se non funziona e lo darò subito. Fammi sapere se funziona :-)


1
Questo pacchetto non viene più spedito con Ubuntu :(
Grief

Ecco alcune informazioni da libsecret (usato nel nuovo portachiavi di gnome) man: "In libsecret puoi sbloccare direttamente gli oggetti, e il risultato è (con il demone gnome-portachiavi) che la collezione inclusa sarà sbloccata. Non è più possibile passare una password per sbloccare i portachiavi. Questi vengono automaticamente richiesti. "
Lutto

1

Funziona sicuramente !!

Dopo molte prove ed errori ho scoperto che il vecchio pacchetto esuberante "portachiavi pam" contiene ancora lo "strumento portachiavi pam" che puoi usare per sbloccare i portachiavi dalla riga di comando. Ubuntu ha tolto lo strumento dal pacchetto dopo il rilascio esagerato, forse per motivi di sicurezza ???

È qui:-

wget https://launchpad.net/ubuntu/+archive/primary/+files/pam-keyring_0.0.8.orig.tar.gz

decomprimilo dove vuoi, quindi fai: -

./configure
make

NON fai l'installazione perché non vuoi che aggiorni il pacchetto in nessun momento.

quindi modifica il file di configurazione post login rc.local in questo modo: -

sudo gedit /etc/rc.local 

exec echo ENTER_YOUR_PASSWORD_HERE | /PATH_TO_PAM_KEYRING_TOOL/pam-keyring-tool --keyring=login -u -s

exit 0

hey presto!


1

Grazie a Stefano! La sua risposta mi ha portato a metà strada, ma ho trovato il metodo, per impostazione predefinita, funziona solo quando si esegue lo script Python dal computer locale. Se stai eseguendo localmente, hai accesso al portachiavi di Gnome. Volevo poter eseguire il suo script tramite una sessione SSH, ma continuavo a ricevere "gnomekeyring.IOerror", perché il portachiavi non era accessibile. Dopo aver cercato su Google, ho trovato la soluzione @ https://ask.fedoraproject.org/en/question/45246/error-communicating-with-gnome-keyring-daemon-in-ssh-session/

Per distillare quella pagina fino alla parte più pertinente che si applica a questa situazione, aggiungi quanto segue al tuo script .bashrc.

# Export $DBUS_SESSION_BUS_ADDRESS when connected via SSH to enable access
# to gnome-keyring-daemon.
if [[ -n $SSH_CLIENT ]]; then
    export $(cat /proc/$(pgrep "gnome-session" -u "$USER")/environ | grep -z "DBUS_SESSION_BUS_ADDRESS=")
fi

Non vale nulla che il modello grep fornito nel link non abbia funzionato per me, quindi quello che ho sopra è leggermente diverso.


Il 17 novembre ho dovuto cambiare la sessione di gnome in sessione di accoppiamento
franco
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.