Bagaimana cara menonaktifkan keyring untuk SSH dan GPG?

19

Bagaimana cara menonaktifkan keyring untuk SSH dan GPG?

Saya ingin menyimpan keyring untuk wifi dan hal-hal lainnya. Saya menggunakan Ubuntu 12.04.

brodul
sumber
1
Tidak bisakah Anda menolak untuk menyimpan kata sandi itu di keyring? Untuk ssh standar, itu tidak akan menyimpan kata sandi kecuali jika Anda mengaturnya secara khusus, dalam pengalaman saya.
Marty Fried
Saya tidak tahu Apakah ada cara untuk mereset keyring. Untuk mengujinya? Judul dalam topik memiliki Ubuntu 12,04 LTS di dalamnya, tetapi @ jorge-castro mengubahnya.
brodul
Keyring tidak banyak berubah dalam beberapa waktu, tetapi saya menambahkannya ke pertanyaan untuk kejelasan, tidak perlu untuk mengacaukan judul meskipun karena jawabannya kemungkinan akan berlaku untuk beberapa versi.
Jorge Castro
Maaf untuk pertanyaan noob, tapi apa motivasi Anda untuk menonaktifkan keyring untuk SSH?
Stephane
1
@Stephane Saya tidak bisa berbicara untuk OP tetapi saya tidak ingin informasi yang begitu kritis diekspos dengan cara apa pun. Saya lebih suka memasukkan kata sandi kunci ssh saya setiap kali saya terhubung ke beberapa server, daripada menyimpannya di keyring, memungkinkan program apa pun dan setiap orang di ruang pengguna saya mengakses ssh sewenang-wenang. Ini tidak masuk akal untuk semua orang, tentu saja, tetapi karena motivasi di sini dapat dipahami
phil294

Jawaban:

12

Pertama, duplikat file /etc/xdg/autostart/gnome-keyring-ssh.desktopmenjadi ~/.config/autostart/.

Kemudian edit ~/.config/autostart/gnome-keyring-ssh.desktopuntuk menghapus baris berikut:

NoDisplay=true

dan untuk menambahkan baris berikut di akhir:

X-GNOME-Autostart-enabled=false

Ini harus menonaktifkan manajemen SSH ketika Anda memulai kembali sesi Anda. Untuk menonaktifkan GPG, lakukan hal yang sama dengan file tersebut /etc/xdg/autostart/gnome-keyring-gpg.desktop.

Pierre-Antoine
sumber
Tnx, ini akhirnya menyelesaikan masalah.
brodul
7

Dalam sesi terminal (menggunakan Ctrl- Alt- T) Anda dapat menghentikan proses gnome-keyring dari bekerja dengan ssh dengan menggunakan:

unset SSH_AUTH_SOCK 

The --no-use-agentpilihan tersedia untuk gpg untuk menghindari menggunakan proses gnome-keyring dengan gpg, namun itu adalah default.

Anda dapat menghentikan alat kuda laut nautilus agar tidak menggunakan agen gpg dengan menggunakan:

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

Anda dapat menghentikan proses gnome-keyring sepenuhnya dengan perintah:

kill $GNOME_KEYRING_PID

Setiap tindakan di atas dipulihkan dengan masuk lagi.


Kata sandi Wifi yang tersedia untuk semua userid disimpan di /etc/NetworkManager/system-connections/direktori daripada disimpan di keyring gnome Anda, sehingga mereka dapat tetap tersedia jika Anda mematikan proses keyn gnome.

The ssh-addperintah dapat digunakan untuk menghapus (atau menambah) kunci dari / ke saat gnome-keyring sementara proses keyring berjalan.

Kata sandi kunci individual dapat dihapus dari login atau keyring lainnya menggunakan Passwordstab Passwords and Keysprogram (kuda laut).

Jika gnome-keyring tidak ada, ssh-agent masih akan berjalan, tetapi tidak menyimpan kunci gpg.


Ada dua baris yang /etc/pam.d/lightdmterlibat dengan menyimpan kata sandi login dan memulai gnome-keyring-daemon dengan keyring login tidak dikunci dengan kata sandi login. Yang kedua memulai daemon:

session optional        pam_gnome_keyring.so auto_start

Mengomentari hanya baris ini akan menghentikannya dari mulai untuk semua sesi dari semua pengguna sistem Anda menggunakan kata sandi login untuk membuka kunci kunci login.

/etc/xdg/autostart/berisi entri awal untuk berbagai kategori rahasia yang bisa ditangani gnome-keyring. Untuk menghentikan daemon dari memulai komponen-komponen ini, file-file ini dapat dipindahkan dari direktori ini. Anda dapat memindahkan semua file gnome-keyring- * untuk menghentikan daemon memulai atau cukup menolak untuk memasok kata sandi login lagi untuk menonaktifkan keyring login sambil membiarkan daemon tetap berjalan.

John S Gruber
sumber
batalkan SSH_AUTH_SOCK berfungsi. Tnx. Apakah ada cara untuk membatalkannya untuk semua sesi? Saya menggunakan Enigmail untuk Thunderbird dan ada masalah dengan enigmail (tidak lupa kata sandi).
brodul
Apakah ada cara untuk menonaktifkan keyring saat startup. (Saya benar-benar tidak ingin menulis skrip yang membunuh keyring).
brodul
Saya telah mengedit jawaban dengan beberapa informasi lain yang mungkin membantu, namun mungkin lebih baik untuk meminta pengelakan Enigmail secara langsung dalam pertanyaan terpisah, secara eksplisit tentang apa yang Anda inginkan.
John S Gruber
Anda dapat menghapus keyring (lupakan kata sandi Anda, baik gpg dan ssh dan lainnya) dengan melakukannya gnome-keyring-daemon -r -d. Ini adalah cara sederhana untuk me-restart daemon. Salah satu masalah yang mungkin adalah bahwa jika itu tidak berjalan di tempat pertama, itu akan mulai (saya tidak tahu cara yang baik hanya me-restart jika sudah berjalan, kecuali parsing ps: /)
unhammer
2

Untuk menghentikan gnome-keyring dari memulai agen SSH ( rusak ) di 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
dolmen
sumber
Saya melihat bahwa baris terakhir Anda menggunakan fakta bahwa /usr/share/upstart/sessions/gnome-keyring-ssh.conf mencari baris itu dan keluar segera sebelum mengekspor SSH_AUTH_SOCK, saya pikir Anda tidak memerlukan ~ / .config / file baru direktori / jika Anda juga menambahkan Hidden=truefile .desktop. Ini pada dasarnya menutupi pintasan "nyata" (sistem) dari semua desktop, bahkan yang biasanya berlaku seperti GNOME / Unity. Saya akan menguji ini segera karena saya telah mencari cara bersih untuk menonaktifkan gnome-keyring-ssh tanpa mempengaruhi fungsi lainnya.
dragon788
1

Dengan versi Ubuntu saat ini, mengubah .desktopfile yang disebutkan dalam jawaban lain sudah tidak memadai lagi. Pekerjaan pemula baru ditambahkan yang juga dimulai gnome-keyring-daemon. File tersebut berada di /usr/share/upstart/sessions/gnome-keyring.confdan berisi:

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

Di sini daemon perlu dibatasi hanya untuk menyediakan beberapa layanan dengan menambahkan --components=pkcs11,secretske baris perintah. The initctlgaris juga dapat dihapus, sehingga:

eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets)" >/dev/null
sth
sumber
1
Bagaimana saya bisa mengganti file ini per pengguna tanpa memodifikasi file sistem?
dolmen
Mengubah file sistem adalah praktik yang buruk. Lihat jawaban saya sendiri.
dolmen