Saya sedang dalam proses menyingkirkan gnome-keyring
sebagai agen SSH.
Hal-hal yang telah saya lakukan
- Mencari di internet berjam-jam.
- Mengubah barang dan memulai kembali, sering.
- Akhirnya hanya
rm
memeriksa semua hal autostart yang terkait dengan SSH.
Hal terakhir itu bekerja secara ajaib karena tidak ada lagi soket untuk agen di sana:
/run/user/[uid]/keyring/ssh
Masalah
Masalah yang tersisa adalah bahwa meskipun saya memperoleh hasil yang disebutkan di atas, sesuatu di gnome-keyring
masih bersikeras pengaturan SSH_AUTH_SOCK
ke soket yang sekarang tidak ada di atas. Ini seperti zombie, hal-hal ini tidak pernah mati.
Pertanyaan
Apa pengaturan variabel itu dan di mana itu dilakukan?
Perangkap
- Saya tidak bertanya bagaimana saya bisa mereset variabel ke nilai lain.
- Saya tidak bertanya bagaimana saya dapat mengatur nilai tersebut di seluruh sistem atau dalam file konfigurasi shell.
- Saya tidak meminta beberapa mantra init-script voodoo untuk membekukan, mengatur, mengatur ulang, menghapus atau mengganti apa pun.
- Saya tidak meminta saran tentang cara menghapus instalasi: Saya masih membutuhkannya untuk kata sandi saya dan tampaknya menjadi pengelola kata sandi yang paling terintegrasi dan dipoles di Gnome.
Saya ingin benda itu dinonaktifkan sebagaimana mestinya.
gnome
openssh
ssh-agent
gnome-keyring
JohnW
sumber
sumber
Jawaban:
Biar saya tebak - Anda menggunakan Wayland. Saya mengalami masalah ini hari ini dan berpikir saya akan membagikan solusinya.
Gnome-Session memiliki hardcode override untuk
SSH_AUTH_SOCK
underland untuk beberapa alasan. Lihat komit berikut: https://github.com/GNOME/gnome-session/commit/a8896ccad65583885735a04205351f48a42f29aeSolusinya? Set variabel lingkungan untuk menonaktifkan perilaku ini:
GSM_SKIP_SSH_AGENT_WORKAROUND=1
. Ini hubungan pendek kode pengaturan lingkungan.Untuk orang yang menemukan ini yang juga mencoba mengkonfigurasi ssh-agent: Di file systemd unit saya untuk ssh-agent, saya memiliki baris berikut:
File lengkapnya terlihat seperti ini:
sumber
export GSM_SKIP_SSH_AGENT_WORKAROUND=1
ke profil ~ / .prooting saya dan perbaiki konfigurasi saya yang sebelumnya berfungsi pada v17.04.(Lingkungan OP tidak diketahui, jadi jalur yang diberikan di sini adalah yang ditemukan di mesin Ubuntu saya)
Di mana gnome-keyring mengatur SSH_AUTH_SOCK?
Untuk menjawab pertanyaan utama dalam judul, SSH_AUTH_SOCK diatur oleh gnome-keyring
/usr/share/upstart/sessions/gnome-keyring-ssh.conf
dengan perintah berikut:Mengutip
initctl
manual:Di mana SSH_AUTH_SOCK berasal dari tempat pertama?
The
initctl
perintah di atas dikondisikan dengan fakta bahwa variabel lingkungan SSH_AUTH_SOCK sudah ada. Jadi, apakah ini situasi ayam dan telur? Apa yang membuatnya?SSH_AUTH_SOCK pada awalnya ditetapkan oleh ssh-agent asli yang dimulai pada awal sesi X. Mengutip manual:
TETAPI apa yang dilakukan komponen ssh gnome-keyring adalah mengganti dirinya dengan ssh-agent yang ada. Karena itu ia menimpa SSH_AUTH_SOCK dengan soketnya sendiri
/run/user/.../keyring-.../ssh
sehingga aplikasi berbicara dengannya, dan bukan dengan ssh-agent.Cara menonaktifkannya
Sekarang, mari kita jawab kalimat terakhir "Saya ingin benda itu dinonaktifkan". Yang diinginkan OP adalah untuk menonaktifkan penimpaan SSH_AUTH_SOCK oleh komponen ssh di gnome-keyring. Mereka ingin mendapatkan kembali variabel SSH_AUTH_SOCK "benar" yang awalnya ditetapkan oleh ssh-agent.
Komponen ssh dimulai oleh skrip startup yang sama yang disebutkan di atas (
/usr/share/upstart/sessions/gnome-keyring-ssh.conf
) tetapi dengan satu syarat: stringX-GNOME-Autostart-enabled=false
tidak boleh ditemukan di salah satu dari file-file ini:/etc/xdg/autostart/gnome-keyring-ssh.desktop
~/.config/autostart/gnome-keyring-ssh.desktop
Oleh karena itu, jika Anda ingin menonaktifkannya, yang harus Anda lakukan adalah menambahkan baris
X-GNOME-Autostart-enabled=false
ke salah satu file ini, lebih disukai yang ada di direktori HOME Anda.sumber
/tmp/ssh-XXX/agent.PID
. Apakah ssh-agent masih dalam daftar proses Anda?https://wiki.archlinux.org/index.php/GNOME/Keyring#Disable_keyring_daemon_components
Diedit dengan ringan, menghapus penggunaan yang tampaknya tidak berguna
printf
sumber
Pada Gnome 3.18, soket tampaknya disimpan di
~/.cache/keyring-(some random string)/ssh
Pada suatu tebakan, itu diatur oleh gnome-keyring-daemon.
sumber