Як відключити інтеграцію ssh gnome-keyring ssh?


10

Я не хочу, щоб gnome-keyring перешкоджав моїм вчинкам git, частково тому, що він блокує весь екран, запитуючи пароль, навіть у KDE (хоча я зараз перейшов на GNOME). Хоча я ціную зручність того, що не потрібно кожного разу ставити свою парольну фразу SSH, а перехід з вікна у вікно скасовує це особисто. Це просто комфорт: /

Я спробував git config --global --unset credential.helperі git config --system --unset credential.helper, але вони, здається, не мають ефекту. Оскільки я зараз використовую GNOME, я краще не видаляю gnome-keyring. Чи є інший варіант, який я можу зробити? Зараз я перебуваю на Ubuntu 14.10, зробивши це як з Kubuntu, так і з Ubuntu GNOME. Дякую.

ОНОВЛЕННЯ 17 листопада 2014 року

Це, мабуть, впливає на всі SSH. Я намагався робити

sudo rm /etc/xdg/autostart/gnome-keyring-ssh.desktop

але це не спрацювало. Я можу зробити

gnome-keyring-daemon --replace -c pkcs11,secrets,gpg

раз на кожній сесії, але я хотів би тримати це постійним. Ще шукаю ...


Питання та відповіді щодо того, чому ввімкнено
введення

Відповіді:


10

Просто скопіюйте відповідний .desktopфайл з /etc/xdg/autostartдо ~/.config/autostartі додати Hidden=trueдо нього:

(cat /etc/xdg/autostart/gnome-keyring-ssh.desktop; echo Hidden=true) > ~/.config/autostart/gnome-keyring-ssh.desktop

потім перезавантажте gnome-shell (натисніть Alt+ F2, потім введіть rта натисніть Enter).

Це єдине зручне для мене рішення , яке працювало для мене (тобто, не потрібно м'якого посилання файлу .desktop до / dev / null або chmod 0the gnome-keyring-daemon). Насправді, перемикання на / dev / null перестало працювати для мене в GNOME 3.16.

Кредит йде до нуля .


5
Здається, це більше не працює 16.04. Чому, як видається, з кожним випуском Ubuntu новий спосіб запускати речі винаходити? Що сталося зі старим добрим Xsession? :(
Філ Мороз

Хтось, будь ласка, підтвердив його для нових версій Ubuntu / Debian / GNOME.
Георгій Совєтов

В Ubuntu 17.10 (GNOME Wayland) більше не можна перезапустити GNOME. Дивіться superuser.com/q/1164174/174311 . Використовуйте, gnome-keyring-daemon -r -c pkcs11,secretsщоб відключити його в поточному сеансі.
Георгій Совєтов

Він все ще працює з Debian 9 (стретч).
Марк Вробель

2

Хороший, чистий спосіб відключити лише компонент ssh-агент gnome-kerying:

gconftool-2 --set --type bool /apps/gnome-keyring/daemon-components/ssh false

2
Це, здається, не працює, принаймні, поки що. Чи потрібен GNOME 3.14 або 3.16 або gnome-keyring-daemon 3.12+?
andlabs

3
Хтось знає, що таке версія ubuntu 16.04 вищезгаданої команди?
Скотт Стенсленд,

2

Я не можу говорити за випуски Ubuntu, крім Trusty - і GNOME - це така постійна рухома ціль, що ви можете гарантувати, що кожен випуск буде іншим - але саме це я вважаю найбільш надійним:

mkdir -p ~/.config/autostart
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/
echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/gnome-keyring-ssh.desktop

Запуск сеансу в Unity, принаймні, і цілком ймовірно, також GNOME3 теж дивний: він запускатиме сценарії Upstart з, /usr/share/upstart/sessions/а потім запускає всі записи автоматичного запуску на робочому столі під /etc/xdg/autostartта gnome-keyring, і багато інших речей є в обох (і це, ймовірно, виконує речі в /usr/share/upstart/xdg/autostartтеж; я цього не перевіряв).

gnome-keyring-sshЗапис вискочки перевірятиме , що X-GNOME-Autostart-enabled=falseлінії в будь-якій системі або користувач локальної записи .desktop і назад, то стандартний ssh-agentсеанс буде працювати. Після цього загальна система gnome-keyring-sshзапуститься, /etc/xdg/autostartякщо у вас не буде відповідного запису в локальному автозапуску користувача, в цьому випадку замість цього буде запущено.

Раніше було достатньо просто мати цей enable=falseрядок у локальному автозапуску, але десь недавно (як, починаючи з травня 2016 року, протягом двох років у LTS-періоді Trusty), поведінка змінилася, і вам потрібно щось схоже на повний запис. Я досі розслідую необхідний точний набір ключів і відповідальність за оновлення пакета.

Чому люди GNOME не просто проксі до ключового агента OpenSSH - це хтось здогадався . Ви можете запропонувати їм прийняти більш розумну поведінку в цій програмі Bugzilla .


Здається, це посилання означає, що використання X-GNOME-Autostart-enable = false, застаріле. У будь-якому випадку виглядає так, ніби властивість Hidden, описане в стандарті автозапуску, забезпечує таку ж функціональність. Використовувати прихований = правда. gist.github.com/najamelan/b44e943145b03e018229
nomadrc

2

Я завжди закінчую видалення gnome-keyring

sudo apt-get remove gnome-keyring

Виявляється, якщо ви використовуєте багато клавіш (більше трьох), ви не можете дійсно увійти до хостів, що обмежує спроби на три ... Крім того, gnome-keyringімена клавіш інакше, ніж при використанні ssh-add, тому я не знаю, яку парольну фразу використовувати .

Видалення gnome-keyringможе зламати багато речей у GNOME, я б не знав, як я використовую Kubuntu. На Кубунту все, що зникає, є python-ubuntu-sso-clientі є ubuntu-sso-client.


1
Вибачте за пізню відповідь. Це те, що я думав, що робив, коли мав Kubuntu (і це знадобилося деякий час, щоб це зрозуміти), але зараз я не такий впевнений. На даний момент, хоча, так як брелоку є частиною GNOME, видалення , що б видалити ubuntu-gnome-desktopі кілька інших пов'язаних компонентів ( oneconf, python-ubuntu-sso-client, seahorse, software-center, і ubuntu-sso-client, беручи до уваги програмне забезпечення , яке стає autoremove кандидатів як результат): / Спасибі , хоча; Я схвалюю заявку, оскільки це допоможе користувачам, які не є GNOME, які випадково опинилися в цій ситуації, як я.
andlabs

0

Я підтверджую, що сценарій

#!/usr/bin/python
import gnomekeyring
gnomekeyring.unlock_sync(None,"mypassword");

вирішує це питання в 16.04, amd64. Сценарій може бути збережено як ukr.py, а chmod +x ukr.pyпотім додати ukr.pyяк додаток для запуску в gnome-session-properties. (Додатковий) модуль gnomekeyringвстановлюється через

sudo apt-get install python-gnomekeyring

0

Найпростіший спосіб - просто замінити існуючий сеанс gnome-keyring-daemon за допомогою команди:

gnome-keyring-daemon --replace --daemonize --components=pkcs11,secrets,gpg

Мою повну відповідь ви можете побачити на цій темі https://askubuntu.com/a/786722/556814

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