Bagaimana cara menonaktifkan integrasi ssh gnome-keyring?

10

Saya tidak ingin gnome-keyring menghalangi komit git saya, sebagian karena mengunci seluruh layar sambil meminta kata sandi, bahkan pada KDE (walaupun sekarang saya telah beralih ke GNOME). Sementara saya menghargai kenyamanan tidak harus memasukkan frasa sandi SSH saya di setiap kali, harus melompat dari jendela ke jendela membatalkannya secara pribadi. Ini hanya hal yang nyaman: /

Saya mencoba git config --global --unset credential.helperdan git config --system --unset credential.helper, tetapi mereka tampaknya tidak berpengaruh. Karena saya sekarang menggunakan GNOME, saya lebih suka tidak menghapus gnome-keyring. Apakah ada opsi lain yang bisa saya lakukan? Saya saat ini di Ubuntu 14.10, setelah melakukan ini dengan Kubuntu dan dengan Ubuntu GNOME. Terima kasih.

UPDATE 17 November 2014

Ini tampaknya mempengaruhi semua SSH. Saya mencoba melakukannya

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

tapi itu tidak berhasil. Dapat saya lakukan

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

satu kali setiap sesi, tetapi saya ingin tetap itu tetap. Masih mencari...

danlab
sumber
T&J terkait mengapa keyring GNOME gagal
gertvdijk

Jawaban:

10

Cukup salin .desktopfile yang relevan dari /etc/xdg/autostartke ~/.config/autostartdan tambahkan Hidden=trueke dalamnya:

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

lalu muat ulang gnome-shell (tekan Alt+ F2, lalu ketik rdan tekan Enter).

Ini adalah satu-satunya solusi yang user-friendly yang telah bekerja untuk saya (yaitu tidak harus softlink yang .desktop file / dev / null atau chmod 0yang gnome-keyring-daemon). Faktanya, softlinking ke / dev / null berhenti bekerja untuk saya di GNOME 3.16.

Kredit jatuh ke nus .

mmoya
sumber
5
Sepertinya ini tidak lagi berfungsi di 16.04. Mengapa seperti pada setiap rilis Ubuntu, metode baru untuk memulai sesuatu diciptakan kembali? Apa yang terjadi dengan Xsession tua yang baik? :(
Phil Frost
Seseorang tolong validasikan untuk versi Ubuntu / Debian / GNOME yang lebih baru.
George Sovetov
Di Ubuntu 17.10 (GNOME Wayland), tidak mungkin untuk memulai kembali GNOME lagi. Lihat superuser.com/q/1164174/174311 . Gunakan gnome-keyring-daemon -r -c pkcs11,secretsuntuk menonaktifkannya di sesi saat ini.
George Sovetov
Masih bekerja dengan Debian 9 (peregangan).
Marc Wrobel
2

Cara yang bagus dan bersih untuk menonaktifkan hanya komponen ssh-agent dari gnome-kerying:

gconftool-2 --set --type bool /apps/gnome-keyring/daemon-components/ssh false
Oren Tirosh
sumber
2
Ini sepertinya tidak berhasil, setidaknya belum. Apakah itu memerlukan GNOME 3.14 atau 3.16 atau gnome-keyring-daemon 3.12+?
andlabs
3
Adakah yang tahu apa versi ubuntu 16.04 dari perintah di atas?
Scott Stensland
2

Saya tidak dapat berbicara untuk rilis Ubuntu selain dari Trusty - dan GNOME adalah target bergerak yang konstan sehingga Anda dapat menjamin bahwa setiap rilis berbeda - tetapi inilah yang menurut saya paling dapat berfungsi:

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

Sesi memulai di bawah Unity, paling tidak, dan sangat mungkin GNOME3 juga aneh: ia akan menjalankan skrip pemula /usr/share/upstart/sessions/dan menjalankan semua entri desktop autostart di bawah /etc/xdg/autostartdan gnome-keyring, dan banyak hal lainnya ada di keduanya (dan mungkin menjalankan beberapa hal) di /usr/share/upstart/xdg/autostart, juga, saya tidak menguji itu).

The gnome-keyring-sshentri kaya baru akan memeriksa untuk itu X-GNOME-Autostart-enabled=falsebaris baik dalam sistem atau pengguna masuk .desktop lokal dan kembali keluar, maka standar ssh-agentsesi akan berjalan. Sistem-lebar gnome-keyring-sshkemudian akan mulai dari /etc/xdg/autostartkecuali Anda memiliki entri yang cocok di autostart lokal pengguna Anda, dalam hal ini yang akan dijalankan sebagai gantinya.

Dulu cukup hanya dengan memiliki enable=falsebaris itu di autostart lokal, tetapi kadang-kadang baru-baru ini (seperti pada, sejak Mei 2016, lebih dari dua tahun memasuki periode LTS Trusty) bahwa perilaku berubah dan Anda memerlukan sesuatu yang menyerupai entri penuh. Saya masih menyelidiki set kunci yang diperlukan, dan pembaruan paket yang melanggar bertanggung jawab.

Mengapa orang-orang GNOME tidak hanya proxy melalui agen kunci OpenSSH adalah dugaan siapa pun . Anda mungkin ingin menyarankan mereka mengadopsi perilaku yang lebih masuk akal dalam entri Bugzilla ini .

John Morton
sumber
Tautan ini tampaknya menyiratkan bahwa menggunakan X-GNOME-Autostart-enabled = false, sudah usang. Bagaimanapun juga, properti Hidden yang dijelaskan dalam standar autostart menyediakan fungsi yang sama. Gunakan Hidden = true. gist.github.com/najamelan/b44e943145b03e018229
nomadrc
2

Saya selalu berakhir dengan menghapus gnome-keyring

sudo apt-get remove gnome-keyring

Ternyata, jika Anda menggunakan banyak kunci (lebih dari tiga), Anda tidak dapat benar-benar masuk ke host yang membatasi upaya hingga tiga ... Juga, gnome-keyringberi nama kunci berbeda dari saat menggunakan ssh-add, jadi saya tidak tahu frasa sandi apa yang digunakan .

Menghapus instalan gnome-keyringmungkin merusak banyak hal pada GNOME, saya tidak akan tahu karena saya menggunakan Kubuntu. Di Kubuntu semua yang hilang sebagai tambahan adalah python-ubuntu-sso-clientdan ubuntu-sso-client.

kaleissin
sumber
1
Maaf atas jawaban yang terlambat. Itu yang saya pikir saya lakukan ketika saya memiliki Kubuntu (dan butuh beberapa saat untuk mengetahuinya), tapi sekarang saya tidak yakin. Seperti untuk saat ini, meskipun, karena keyring adalah bagian dari GNOME, menghilangkan yang akan menghapus ubuntu-gnome-desktopdan beberapa komponen terkait lainnya ( oneconf, python-ubuntu-sso-client, seahorse, software-center, dan ubuntu-sso-client, tidak menghitung perangkat lunak yang menjadi calon autoremove sebagai hasilnya): / Thanks meskipun; Saya akan menjawab karena itu akan membantu pengguna non-GNOME yang secara tidak sengaja berakhir dalam situasi ini seperti yang saya lakukan.
andlabs
0

Saya mengkonfirmasi skrip itu

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

menyelesaikan masalah dalam 16.04, amd64. Script dapat disimpan sebagai ukr.py, lalu chmod +x ukr.py, lalu tambahkan ukr.pysebagai aplikasi startup di gnome-session-properties. Modul (tambahan) gnomekeyringdiinstal melalui

sudo apt-get install python-gnomekeyring
dzmanto
sumber
0

Cara termudah adalah dengan mengganti sesi gnome-keyring-daemon yang ada menggunakan perintah:

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

Anda dapat melihat jawaban lengkap saya di utas ini /ubuntu//a/786722/556814

rioastamal
sumber