GNU/Linux >> Belajar Linux >  >> Linux

Ssh-agent Tidak Diatur (ssh_auth_sock, Ssh_agent_pid Env Vars Tidak Diatur)?

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 eval ssh-agent -s untuk
shell tipe Bourne seperti sh(1) atau ksh(1) dan eval ssh-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).

Terkait:Bagaimana cara menjalankan program tertentu sebagai root tanpa prompt kata sandi?

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.


Linux
  1. Cara Mengatur Tunneling SSH

  2. Cara Mengatur Kunci SSH

  3. Untuk Env Atau Tidak Untuk Env?

  1. Env Vars Di /etc/environment Tidak Terlihat Secara Global?

  2. Cara:Memulai dengan Ansible

  3. Cara Mengatur Kunci SSH di Ubuntu 18.04

  1. tmux Ctrl+B tidak berfungsi

  2. proxy http melalui ssh, bukan kaus kaki

  3. Bagaimana cara mengatur file sebagai TIDAK dapat dieksekusi?