Saya membuat akun pengguna baru untuk seorang teman di Kubuntu 12.04. Saat dia menggunakan ssh
dia mendapatkan kesalahan ini:
Tidak dapat membuka koneksi ke agen otentikasi Anda
Kami menjalankan ssh
di beberapa skrip bash.
Setelah melihat-lihat berbagai hal yang dapat menyebabkan kesalahan itu, saya menemukan solusi ini:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
Kemudian dia dapat menjalankan ssh
perintah (dan skrip bash) seperti yang diharapkan.
Sebelum menjalankan kedua perintah tersebut, variabel env tidak disetel di terminal:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
Setelah menjalankan perintah, variabel env diatur seperti yang diharapkan. Namun, mereka tidak tetap diatur (misalnya, di shell yang berbeda atau setelah reboot).
Saya ingin tahu cara mengatur komputernya sehingga dia tidak perlu menjalankan dua perintah itu untuk mengatur variabel env. Saya tidak perlu menjalankannya di komputer saya (pernah). Sejauh ini saya tidak melihat perbedaan antara mesin kami.
Saya melihat info ini di halaman manual, tetapi tidak memberi tahu saya bagaimana Ubuntu biasanya mengatur agen secara otomatis atau apa yang terjadi pada mesin teman saya sehingga ini tidak berfungsi untuknya.
Ada dua cara utama untuk menyiapkan agen:Yang pertama adalah agen
memulai subperintah baru yang ke dalamnya beberapa variabel lingkungan
diekspor, misalnya ssh-agent xterm &. Yang kedua adalah bahwa agen mencetak
perintah shell yang diperlukan (baik sintaks sh(1) atau csh(1) dapat dibuat)
yang dapat dievaluasi di shell panggilan, misalnya evalssh-agent -s
untuk
shell tipe Bourne seperti sh(1) atau ksh(1) dan evalssh-agent -c
untuk
csh(1) dan turunannya.
Setelah menginstal acct
dan reboot, ini adalah output dari lastcomm
:
ssh-agent F newuser __ 0.12 secs Wed Aug 7 11:02
ssh-agent F newuser __ 0.00 secs Wed Aug 7 20:34
ssh-agent F newuser __ 0.02 secs Wed Aug 7 20:02
ssh-agent F newuser __ 0.01 secs Thu Aug 8 12:39
ssh-agent F newuser __ 0.02 secs Thu Aug 8 07:45
Dari halaman manual:
F — perintah dieksekusi setelah fork tetapi tanpa exec berikut
Saya tidak yakin apakah itu signifikan.
Jawaban yang Diterima:
Anda menyebutkan pengguna Anda adalah ssh
masuk, bukan masuk secara lokal. Jadi use-ssh-agent
di /etc/X11/Xsession.options
adalah red herring:itu tidak akan dieksekusi pada sesi SSH, hanya saat masuk ke desktop GUI X11 secara lokal (atau menggunakan beberapa sesi X11 virtual seperti melalui VNC atau RDP).
Sebagai gantinya, Anda harus memeriksa apakah libpam-ssh
diinstal pada kedua sistem. Itu dapat dikonfigurasi untuk mengautentikasi pengguna menggunakan frasa sandi kunci pribadi SSH, tetapi itu opsional dan Anda harus secara khusus menempatkan kunci ke ~/.ssh/login-keys.d/
untuk fungsi tersebut.
Namun, fitur lainnya adalah memulai agen SSH secara otomatis pada sesi login apa pun dan secara otomatis menambahkan kunci pribadi SSH ke agen jika frasa sandinya sama dengan kata sandi login pengguna. Saya pikir ini mungkin penyebab perilaku yang berbeda di antara sistem Anda.