Jak wyłączyć brelok do SSH i GPG?


19

Jak wyłączyć brelok do SSH i GPG?

Chciałbym zachować brelok do wifi i innych rzeczy. Używam Ubuntu 12.04.


1
Czy nie możesz po prostu odmówić zapisania tych haseł w breloku? W przypadku standardowego ssh hasło nie zostanie zapisane, chyba że skonfigurujesz je w ten sposób, z mojego doświadczenia.
— Marty Fried

Nie wiem Czy istnieje sposób na zresetowanie breloka do kluczy. Aby to przetestować? Tytuł w temacie zawierał Ubuntu 12.04 LTS, ale @ jorge-castro to zmienił.
— brodul

Brelok od dłuższego czasu niewiele się zmienił, ale dodałem go do pytania, aby uzyskać jasność, nie trzeba jednak zaśmiecać tytułu, ponieważ odpowiedź prawdopodobnie będzie dotyczyć wielu wersji.
— Jorge Castro,

Przepraszamy za pytanie noob, ale jaka jest Twoja motywacja do wyłączenia breloka do SSH?
— Stephane

1
@Stephane Nie mogę wypowiadać się za OP, ale nie chcę, aby informacje tak krytyczne były w jakikolwiek sposób ujawniane. Wolę wprowadzać hasło klucza ssh za każdym razem, gdy łączę się z jakimś serwerem, niż przechowywanie go w breloku, umożliwiając dowolnemu programowi i każdej osobie w mojej przestrzeni użytkownika dowolny dostęp ssh. Nie ma to oczywiście sensu dla wszystkich innych, ale imo motywacja tutaj jest zrozumiała
— phil294,

Odpowiedzi:


12

Najpierw zduplikuj plik /etc/xdg/autostart/gnome-keyring-ssh.desktopdo ~/.config/autostart/.

Następnie edytuj ~/.config/autostart/gnome-keyring-ssh.desktop, aby usunąć następujący wiersz:

NoDisplay=true

i dodać następujący wiersz na końcu:

X-GNOME-Autostart-enabled=false

Powinno to wyłączyć zarządzanie SSH po ponownym uruchomieniu sesji. Aby wyłączyć GPG, zrób to samo z plikiem/etc/xdg/autostart/gnome-keyring-gpg.desktop .


Tnx, to w końcu rozwiązuje problem.
— brodul

7

W sesji terminalowej (przy użyciu Ctrl- Alt- T) możesz zatrzymać proces gnome-keyring z ssh, używając:

unset SSH_AUTH_SOCK 

--no-use-agentOpcja jest dostępna do gpg aby uniknąć stosując proces gnome-brelok z GPG jednak, że jest to ustawienie domyślne.

Możesz zatrzymać narzędzie nautilus konik morski przed użyciem agenta gpg, używając:

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

Możesz całkowicie zatrzymać proces gnome-keyring za pomocą polecenia:

kill $GNOME_KEYRING_PID

Każda z powyższych akcji jest przywracana po ponownym zalogowaniu.


Hasła Wi-Fi dostępne dla wszystkich identyfikatorów użytkowników są przechowywane w /etc/NetworkManager/system-connections/katalogu zamiast w kluczu gnome, dzięki czemu mogą pozostać dostępne, jeśli zabijesz proces tworzenia klucza gnome.

The ssh-addKomenda może być używana do usuwania (lub dodać) konkretne klawisze z / na prąd gnome-brelok Brelok gdy proces jest uruchomiony.

Poszczególne hasła kluczy można usunąć z loginu lub innego klucza za pomocą Passwords zakładki Passwords and Keysprogramu (konika morskiego).

Jeśli gnome-keyring nie jest obecny, ssh-agent będzie nadal działał, ale nie przechowuje kluczy gpg.


Istnieją dwa wiersze /etc/pam.d/lightdmzwiązane z zapisywaniem hasła logowania i uruchamianiem demona gnome-keyring z odblokowanym kluczem logowania za pomocą hasła logowania. Drugi uruchamia demona:

session optional        pam_gnome_keyring.so auto_start

Komentowanie tylko tego wiersza powstrzymałoby go przed uruchomieniem dla wszystkich sesji wszystkich użytkowników twojego systemu używającego hasła logowania do odblokowania klucza logowania.

/etc/xdg/autostart/zawiera wpisy początkowe dla różnych kategorii sekretów, które może obsłużyć gnome-keyring. Aby zatrzymać demona przed uruchomieniem tych komponentów, pliki te można przenieść z tego katalogu. Możesz przenieść wszystkie pliki gnome-keyring- *, aby zatrzymać uruchamianie demona, lub po prostu odmówić podania hasła logowania, aby wyłączyć brelok logowania, pozostawiając działającego demona.


unset SSH_AUTH_SOCK działa. Tnx. Czy istnieje sposób, aby rozbroić to dla wszystkich sesji? Używam Enigmail dla Thunderbirda i jest problem z enigmailem (nie zapomina hasła).
— brodul

Czy istnieje sposób na wyłączenie kluczy podczas uruchamiania. (Naprawdę nie chcę pisać skryptu zabijającego brelok).
— brodul

Zredagowałem odpowiedź z kilkoma dodatkowymi informacjami, które mogą być pomocne, jednak lepiej poprosić o obejście Enigmail bezpośrednio w osobnym pytaniu, wyraźnie mówiąc o tym, czego chcesz.
— John S Gruber,

Możesz opróżnić brelok (zapomnij hasła, zarówno gpg, jak i ssh i inne) gnome-keyring-daemon -r -d. Jest to prosty sposób na ponowne uruchomienie demona. Jednym z możliwych problemów jest to, że jeśli nie był uruchomiony w pierwszej kolejności, uruchomi się (nie znam dobrego sposobu na ponowne uruchomienie go tylko, jeśli jest już uruchomiony, z wyjątkiem parsowania ps: /)
— unhammer

2

Aby powstrzymać gnome-keyring przed uruchomieniem ( uszkodzonego ) agenta SSH na 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

Widzę, że twoja ostatnia linia korzysta z faktu, że /usr/share/upstart/sessions/gnome-keyring-ssh.conf szuka tej linii i kończy działanie natychmiast przed eksportowaniem SSH_AUTH_SOCK, myślę, że nie potrzebujesz ~ / .config / upstart file / directory, jeśli również dołączasz Hidden=truedo pliku .desktop. Zasadniczo maskuje to „prawdziwy” skrót (systemowy) ze wszystkich komputerów stacjonarnych, nawet tych, których normalnie może dotyczyć GNOME / Unity. Niedługo będę to testować, ponieważ szukałem czystego sposobu na wyłączenie gnome-keyring-ssh bez wpływu na inne funkcje.
— dragon788

1

W obecnej wersji Ubuntu zmiana .desktoppliku wymienionego w innych odpowiedziach nie jest już wystarczająca. Dodatkowym zadaniem dorobkiewicz dodano , że rozpoczyna również gnome-keyring-daemon. Plik znajduje się w /usr/share/upstart/sessions/gnome-keyring.confi zawiera:

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

Tutaj demon musi zostać ograniczony, aby zapewniał tylko niektóre usługi poprzez dodanie --components=pkcs11,secretsdo wiersza poleceń. Te initctllinie mogą być również usunięte, w wyniku:

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

1
Jak mogę zastąpić ten plik na użytkownika bez modyfikowania pliku systemowego?
— dolmen

Zmiana pliku systemowego jest złą praktyką. Zobacz moją własną odpowiedź.
— dolmen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.