Saya menggunakan Linux Mint, dan belum bisa mendapatkan gnome-keyring untuk membuka kunci secara otomatis saat login, tampaknya.
Gejala masalah saya adalah sebagai berikut:
$ ssh-add
Identity added: /home/me/.ssh/id_rsa (/home/me/.ssh/id_rsa)
$ git pull
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-Nmf3J3/pkcs11: No such file or directory
Bagaimana saya bisa membuatnya bahwa git dapat mendorong / menarik tanpa input frasa sandi dari saya?
Saya menyadari ada beberapa hal di sini dengan gnome-keyring, dan ssh-agent, tetapi belum dapat memahaminya.
Menjalankan ssh-add
selama sesi berarti bahwa saya tidak lagi diminta frasa sandi untuk SSH / git.
Masalahnya adalah bahwa saya harus menjalankan ssh-add
selama setiap sesi - saya harus kehilangan cara membuka kunci Gnome saat login.
$ export | grep GNOME
GNOME_KEYRING_CONTROL=/tmp/keyring-hjMM4V
GNOME_KEYRING_PID=1961
Itu terjadi lagi selama sesi yang sama dengan edit pertama. Saya lakukan git pull
dan dapatkan WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-hjMM4V/pkcs11: No such file or directory
.
$ env | grep SSH
SSH_AGENT_PID=2116
SSH_AUTH_SOCK=/tmp/ssh-OACxJMBY2038/agent.2038
$ ps -fp $SSH_AGENT_PID
UID PID PPID C STIME TTY TIME CMD
eoin 2116 2038 0 09:47 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
sumber
export | grep GNOME
dan memposting hasilnya. Pernahkah Anda melihat bug ini ?gnome-keyring
dengan membuka kunci secara otomatis saat login.env | grep SSH
danps -fp $SSH_AGENT_PID
zsh
dantmux
berlari (hanya untuk menyebutkan itu).Jawaban:
Yang dimaksudkan untuk terjadi adalah:
Anda memulai sesi gnome, bagian dari daemon gnome-keyring (yang juga bertindak sebagai agen ssh) dimulai dan lingkungan apa pun yang dimulai selama sesi gnome diperbarui dengan informasi tentang cara menghubungi agen ssh tersebut. Kata sandi yang Anda terbitkan saat masuk secara grafis digunakan untuk membuka kunci keyring default.
Saat Anda menggunakan gnome-keyring sebagai ssh-agent, Anda tidak ingin menggunakan agen lain seperti
ssh-agent
.Ketika sesi X Anda berakhir, begitu juga gnome-keyring. Tapi sesi tmux Anda tetap. Kemudian, bahkan jika Anda memulai gnome-keyring atau ssh-agent lain, lingkungan proses yang sudah dimulai
tmux
tidak akan dapat berbicara dengannya kecuali Anda memperbarui lingkungan mereka dengan jalur soket baru.Yang bisa Anda lakukan adalah:
Dan lakukan
. ~/.gkr
di semua shell yang ingin Anda gunakan gnome-keyring baruBerhati-hatilah meskipun DISPLAY yang akan terhubung dengan gnome-keyring-daemon.
sumber
.gkr
, bukan ? Bagaimana saya bisa waspada terhadap tampilan mana yanggnome-keyring-daemon
akan terhubung?Hal pertama yang saya coba adalah
apt-get install ssh-askpass-gnome
sebaliknya jika Anda tidak menginstal paket itu (atau beberapa program askpass alternatif), maka gnome tidak dapat meminta kata sandi Anda ketika Anda perlu membuka kunci kunci Anda.Anda juga harus
DISPLAY
mengatur variabel dengan benar:Juga, bagaimana Anda memulai terminal Anda? Mungkin ada masalah dengan cara Anda memulai sesi terminal dan apakah itu berasal atau tidak
gnome-session
. Ini bisa terjadi ketika Anda menggunakan beberapa program gnon-gnome untuk mengatur ikatan utama Anda.Anggap Anda menggunakan
gnome-terminal
Anda dapat memeriksa menggunakanpstree
. Di sini Anda dapat melihat pewarisan yang benar terjadi:Sedangkan dalam sesi ini TIDAK mewarisi dari
gnome-session
:Juga, periksa yang
ssh-agent
sedang dimulai olehgnome-session
:sumber
mate-terminal --maximize -e tmux
(yang saya duga adalah terminal gnome). Selanjutnya,zsh
kemudian dimuat di dalamnyatmux
.ssh-askpass-gnome
dipasang.$DISPLAY
memiliki hasil yang diharapkan. Untuk warisan,tmux
duduk di bawahmate-terminal
tanpa rumah besargnome-session
. Di cabang terpisah, itutmux───zsh───xargs───pstree
. Untuk menjawab pertanyaan terakhir Anda, output adalah:init───mdm───mdm───x-session-manag───ssh-agent
. Bagaimana menurut anda? Terima kasih.mate-terminal
warisan Anda darignome-session
masalahnya. dua pertanyaan: 1) apa output daripgrep -fl gnome-session
dan; 2) tindakan apa yang Anda ambil untuk benar-benar memanggil terminal Anda? dari menu? dari pengikatan hot-key? atau ????Ctrl+Alt+t
. Ini adalah jalan pintas yang saya atur menggunakan aplikasi Linux MintKeyboard Shortcuts
menggunakan perintah yang saya sebutkan sebelumnya. Namun , ketika diluncurkanTerminal
melalui menu "Start" utama, SSH bertindak berbeda . Gnome GUI meminta kata sandi saya ke keyring saya. Pilihan untuk menyimpan frasa sandi ini untuk sesi selanjutnya diklik, saya tidak bisa memilihnya. (Perintah menu launcher jugamate-terminal --maximize -e tmux
.) Apakah itu membuat kita lebih dekat? Terima kasih, aculich.Ctrl+Alt+t
yang Anda atur di Shortcuts Keyboard maka saya pikir Anda mungkin mengalami bug di mdm / MATE. Apa versi Mint yang Anda jalankan?Saya pikir masalah saat menyimpan kunci SSH yang dilindungi kata sandi secara permanen.
Silakan lihat sumber daya berikut:
sumber
~/.ssh/config
tetapi itu tidak memperbaikinya.Tambahkan ini ke .bash_profile Anda
sumber
$SSH_AUTH_SOCK
memiliki nilai/tmp/ssh-QCndYkdq2025/agent.2025
. Apakah saya melewatkan sesuatu?$git pull
masih menampilkan prompt frasa sandi SSH.ssh-agent
dengan benar saat masuk langsung dari kotak dan biasanya hal-hal yang Anda miliki sendiri seperti ini yang merusaknya. Jika karena alasan tertentu sistem Anda tidak menanganissh-agent
, jangan lakukan itu dengan tangan. Alih-alih menggunakan gantungan kunci yang dirancang dengan baik untuk menangani ini dan masalah terkait. Ini juga berfungsi untuk BSD (Mac) dan sistem non-Linux lainnya.