Як відключити брелок для SSH та GPG?


19

Як відключити брелок для SSH та GPG?

Я хотів би зберегти брелок для wifi та інші речі. Я використовую Ubuntu 12.04.


1
Ви не можете просто відмовитись, щоб зберегти ці паролі на брелоку? Для стандартного ssh він не збереже пароль, якщо ви не встановите його саме так, на мій досвід.
— Марті Фрід

Не знаю. Чи є спосіб скинути брелок. Щоб перевірити це? У заголовку теми був Ubuntu 12.04 LTS, але @ jorge-castro змінив її.
— brodul

Кейрінг за часом не сильно змінився, але я додав його до питання для наочності, не потрібно, щоб він захаращував заголовок, хоча відповідь, ймовірно, стосуватиметься кількох версій.
— Хорхе Кастро

Вибачте за питання про noob, але яка ваша мотивація відключення брелоку для SSH?
— Стефан

1
@Stephane Я не можу виступати за ОП, але я не хочу, щоб інформація була так критично викрита жодним чином. Я вважаю за краще вводити свій пароль ключа ssh кожен раз, коли я підключаюся до якогось сервера, ніж зберігання брелока, що дозволяє будь-якій програмі та кожній людині в моєму просторі користувачів довільний доступ до ssh. Звичайно, це не має сенсу для всіх інших, але, однак, мотивація тут зрозуміла
— phil294

Відповіді:


12

Спочатку дублюйте файл /etc/xdg/autostart/gnome-keyring-ssh.desktopу ~/.config/autostart/.

Потім відредагуйте ~/.config/autostart/gnome-keyring-ssh.desktop, щоб видалити наступний рядок:

NoDisplay=true

і додати наступний рядок у кінці:

X-GNOME-Autostart-enabled=false

Це повинно вимкнути управління SSH при перезапуску сеансу. Щоб відключити GPG, зробіть те саме з файлом /etc/xdg/autostart/gnome-keyring-gpg.desktop.


Tnx, це остаточно вирішує проблему.
— brodul

7

У термінальному сеансі (використовуючи Ctrl- Alt- T) ви можете зупинити процес gnome-keyring від роботи з ssh за допомогою:

unset SSH_AUTH_SOCK 

Доступна --no-use-agentопція gpg, щоб уникнути використання процесу gnome-keyring з gpg, однак це за замовчуванням.

Ви можете зупинити інструмент nautilus seahorse від використання gpg-агента, використовуючи:

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

Ви можете повністю зупинити процес керування ключем gnome за допомогою команди:

kill $GNOME_KEYRING_PID

Кожна з вищезазначених дій відновлюється за допомогою входу заново.


Паролі Wi-Fi, доступні всім користувачам , зберігаються в /etc/NetworkManager/system-connections/каталозі, а не зберігаються у вашому ключі gnome, тому вони можуть залишатися доступними, якщо ви знищите процес введення ключів gnome.

ssh-addКоманда може бути використана для видалення (або додати) конкретні ключі з / к поточної брелок гнома в той час як процес брелока працює.

Індивідуальні паролі ключів можна видалити з логіну або іншого введення ключових слів за допомогою Passwordsвкладки Passwords and Keysпрограми (морський коник).

Якщо gnome-keyring немає, ssh-агент все одно буде запущений, але він не зберігає gpg-ключі.


Є два рядки, /etc/pam.d/lightdmпов'язані із збереженням пароля для входу та запуском gnome-keyring-daemon при введенні брелока для входу, розблокованому паролем для входу. Другий запускає демон:

session optional        pam_gnome_keyring.so auto_start

Якщо коментувати саме цей рядок, це не дозволить йому запуститись для всіх сеансів усіх користувачів вашої системи, використовуючи пароль для входу, щоб розблокувати вхідний ключ.

/etc/xdg/autostart/містить стартові записи для різних категорій секретів, з якими може працювати gnome-keyring. Щоб зупинити демон не запускати ці компоненти, ці файли можна перемістити з цього каталогу. Ви можете перемістити всі файли gnome-keyring- *, щоб зупинити демон не запускається, або просто відмовитись знову вводити пароль для входу, щоб вимкнути введення ключа, залишаючи демон.


unset SSH_AUTH_SOCK працює. Tnx. Чи є спосіб зняти його для всіх сеансів? Я використовую Enigmail для Thunderbird, і є проблема з enigmail (він не забув пароль).
— brodul

Чи є спосіб відключити брелок при запуску. (Я дійсно не хочу писати сценарій, що вбиває брелок).
— brodul

Я відредагував відповідь із ще деякою інформацією, яка може бути корисною, однак, можливо, буде краще запитати обхід Enigmail безпосередньо в окремому запитанні, чітко пояснюючи, що ви хочете.
— John S Gruber

Ви можете змити брелок (забудьте свої паролі, gpg та ssh та інші), зробивши це gnome-keyring-daemon -r -d. Це простий спосіб перезапустити демон. Одна з можливих проблем полягає в тому, що якщо він не працював в першу чергу, він запуститься (я не знаю хорошого способу лише перезапустити його, якщо він вже запущений, за винятком розбору ps: /)
— unhammer

2

Щоб зупинити gnome-keyring від запуску ( зламаного ) агента SSH в 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

Я бачу, що ваш останній рядок використовує той факт, що /usr/share/upstart/sesions/gnome-keyring-ssh.conf шукає цей рядок і виходить безпосередньо перед експортом SSH_AUTH_SOCK, я думаю, що вам не потрібно ~ / .config / upstart файл / каталог, якщо ви також додаєте Hidden=trueфайл .desktop. Це в основному маскує "справжній" (системний) ярлик з усіх настільних комп'ютерів, навіть тих, до яких зазвичай можна застосувати, як GNOME / Unity. Я буду тестувати це незабаром, коли я шукав чистий спосіб відключити gnome-keyring-ssh, не впливаючи на інші функції.
— dragon788

1

У поточній версії Ubuntu зміна .desktopфайлу, згаданого в інших відповідях, вже недостатня. Додано додаткове завдання, яке також починається gnome-keyring-daemon. Файл знаходиться в /usr/share/upstart/sessions/gnome-keyring.confі містить:

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

Тут демона потрібно обмежити лише надавати деякі послуги, додавши --components=pkcs11,secretsдо командного рядка. Ці initctlлінії також можуть бути видалені, в результаті чого:

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

1
Як я можу замінити цей файл на кожного користувача, не змінюючи системний файл?
— долмен

Зміна системного файлу - погана практика. Дивіться мою власну відповідь.
— долмен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.