Jak wprowadzić domyślne hasło kluczy za pomocą wiersza poleceń?

12

Czy istnieje sposób wprowadzenia domyślnego hasła kluczy za pomocą wiersza polecenia?

Na przykład:

Masz zdalną konfigurację Ubuntu 10.10, która jest ustawiona na automatyczne logowanie. Nie chcesz usuwać hasła kluczy.

W porządku, system uruchamia się i loguje automatycznie, a następnie prosi o hasło do kluczy. W tym momencie możesz tworzyć połączenia ssh, ale nie możesz zdalnego pulpitu.

Co możesz zrobić, aby wprowadzić hasło klucza?

Ponadto, aby to lepiej wyjaśnić, pochodzi on ze zdalnego połączenia przy użyciu wiersza polecenia.

Jerkofalltrades
źródło

Odpowiedzi:

10

Dzięki python-gnomekeyring jest to stosunkowo łatwe:

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

Lub jako właściwy skrypt:

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

Myślę, że nie musisz instalować pakietu. Ale próba nie może zaszkodzić.


Pamiętaj, że przechowywanie hasła na dysku twardym stanowi ogromne zagrożenie bezpieczeństwa. Powinieneś używać tego zamiast:

#!/usr/bin/env python

import gnomekeyring
import getpass

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

Możesz zapisać ten skrypt, na przykład jako, unlock-keyring.pya następnie wykonaj następujące czynności:

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

Odtąd zawsze możesz po prostu wpisać unlock-keyringhasło i poprosić o podanie hasła. Nie rób tego z wersją zawierającą twoje hasło .

Możesz zastąpić Nonenazwą swojego klucza, np. 'session'Jeśli chcesz odblokować taki, który nie jest domyślny.


Mam trudności z testowaniem tego poprawnie, więc proszę dać mi znać, jeśli to nie działa, a ja od razu przyjrzę się temu. Daj mi również znać, jeśli to działa :-)

Stefano Palazzo
źródło
1
Ten pakiet nie jest już dostarczany z Ubuntu :(
Grief
Oto kilka informacji z libsecret (używanego w nowym gnome-keyring) man: „W libsecret możesz odblokowywać przedmioty bezpośrednio, a rezultatem jest (z demonem gnome-keyring), że otaczająca kolekcja zostanie odblokowana. Nie jest już możliwe podaj hasło, aby odblokować breloki do kluczy. Są one automatycznie monitowane o ”.
Żal
1

To działa zdecydowanie !!

Po wielu próbach i błędach odkryłem, że stary, zadziorny pakiet „pam-keyring” nadal zawiera „pam-keyring-tool”, którego można użyć do odblokowania kluczy z linii poleceń. Ubuntu wyjął narzędzie z pakietu po zadziwiającym wydaniu, być może ze względów bezpieczeństwa ???

To tu:-

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

rozpakuj go tam, gdzie chcesz, a następnie wykonaj:

./configure
make

NIE dokonujesz instalacji, ponieważ nie chcesz, aby aktualizowała pakiet w dowolnym momencie.

następnie edytuj plik konfiguracyjny rc.local po zalogowaniu, aby wyglądał następująco: -

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

Cześć Presto!

Matthew Toft
źródło
1

Dzięki Stefano! Jego odpowiedź doprowadziła mnie do połowy, ale znalazłem, że metoda domyślnie działa tylko podczas uruchamiania skryptu python z komputera lokalnego. Jeśli prowadzisz lokalnie, masz dostęp do kluczy Gnome. Chciałem móc uruchomić jego skrypt za pośrednictwem sesji SSH, ale wciąż otrzymywałem „gnomekeyring.IOerror”, ponieważ brelok nie był dostępny. Po wielu googlingach znalazłem rozwiązanie @ https://ask.fedoraproject.org/en/question/45246/error-communicating-with-gnome-keyring-daemon-in-ssh-session/

Aby destylować tę stronę do najbardziej istotnej części, która dotyczy tej sytuacji, dodaj do skryptu .bashrc następujące elementy.

# 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

Nic nie warte jest to, że wzór grep podany w łączu nie działał dla mnie, więc ten, który mam powyżej, jest nieco inny.

Robert
źródło
Na MInt 17.2 musiałem zmienić sesję gnome na sesję partnera
Frank