Saya mengatur akun pengguna baru untuk seorang teman di Kubuntu 12.04. Ketika dia menggunakan ssh
dia mendapat kesalahan ini:
Tidak dapat membuka koneksi ke agen otentikasi Anda
Kami menjalankan ssh
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 bash scripts) seperti yang diharapkan.
Sebelum menjalankan kedua perintah itu, variabel env tidak diatur di terminal:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
Setelah menjalankan perintah, variabel env ditetapkan seperti yang diharapkan. Namun, mereka tidak tetap diatur (misalnya, dalam shell yang berbeda atau setelah reboot).
Saya ingin tahu cara mengatur komputernya sehingga ia tidak harus menjalankan kedua perintah itu untuk mengatur variabel env. Saya tidak perlu menjalankannya di komputer saya (pernah). Sejauh ini saya tidak melihat perbedaan antara mesin-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 bahwa agen memulai sub-perintah baru ke mana beberapa variabel lingkungan diekspor, misalnya ssh-agent xterm &. Yang kedua adalah bahwa agen mencetak perintah shell yang diperlukan (sintaks sh (1) atau csh (1) dapat dihasilkan) yang dapat di-evalled dalam shell panggilan, mis. Eval
ssh-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 me-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:
Perintah - F dieksekusi setelah garpu tetapi tanpa exec berikut
Saya tidak yakin apakah itu penting.
X11/Xsession.options:use-ssh-agent
dan X11/Xsession.d/90x11-common_ssh-agent:SSHAGENT=/usr/bin/ssh-agent
. Saya akan mencoba acct
dan lastcomm
selanjutnya. Terima kasih
lastcomm
untuk sesi penuh, bukan hanya ssh-agent
prosesnya. Intinya adalah untuk melihat bagaimana urutan berbagai program dimulai.
ssh-agent
biasanya dimulai dari/etc/X11/Xsession.d/90x11-common_ssh-agent
. Ini dapat ditekan dengan menghapususe-ssh-agent
dari/etc/X11/Xsession
. Apakah file-file itu benar? Apakah agen mulai dan kemudian dibunuh atau tidak pernah memulai? (Instalacct
dan jalankanlastcomm
setelah masuk untuk melihat program apa yang digeber.)