ฉันตั้งค่าบัญชีผู้ใช้ใหม่สำหรับเพื่อนใน Kubuntu 12.04 เมื่อเขาใช้ssh
เขาได้รับข้อผิดพลาดนี้:
ไม่สามารถเปิดการเชื่อมต่อกับตัวแทนการตรวจสอบความถูกต้องของคุณ
เรากำลังทำงานssh
ในสคริปต์ทุบตี
หลังจากดูสิ่งต่าง ๆ มากมายที่สามารถนำไปสู่ข้อผิดพลาดนั้นฉันได้พบกับวิธีแก้ไขปัญหานี้:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
จากนั้นเขาสามารถเรียกใช้ssh
คำสั่ง (และสคริปต์ทุบตี) ตามที่คาดไว้
ก่อนรันสองคำสั่งตัวแปร env ไม่ได้ถูกตั้งค่าในเทอร์มินัล:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
หลังจากรันคำสั่งตัวแปร env จะถูกตั้งค่าตามที่คาดไว้ อย่างไรก็ตามพวกเขาไม่ได้อยู่ที่การตั้งค่า (เช่นในเปลือกที่แตกต่างกันหรือหลังจากรีบูตเครื่อง)
ฉันต้องการทราบวิธีการตั้งค่าคอมพิวเตอร์ของเขาเพื่อที่เขาจะได้ไม่ต้องเรียกใช้ทั้งสองคำสั่งเพื่อตั้งค่าตัวแปร env ฉันไม่จำเป็นต้องเรียกใช้บนคอมพิวเตอร์ของฉัน (เคย) จนถึงตอนนี้ฉันไม่เห็นสิ่งที่แตกต่างระหว่างเครื่องของเรา
ฉันเห็นข้อมูลนี้ในหน้า man แต่ไม่ได้บอกฉันว่า Ubuntu ปกติตั้งค่าตัวแทนโดยอัตโนมัติหรือสิ่งที่เกิดขึ้นบนเครื่องของเพื่อนของฉันเพื่อที่จะไม่ทำงานสำหรับเขา
มีสองวิธีหลักในการตั้งค่าเอเจนต์: วิธีแรกคือเอเจนต์เริ่มคำสั่งย่อยใหม่ซึ่งตัวแปรสภาพแวดล้อมบางอย่างจะถูกส่งออกเช่น ssh-agent xterm & ประการที่สองคือเอเจนต์พิมพ์คำสั่งเชลล์ที่ต้องการ (สามารถสร้างไวยากรณ์ sh (1) หรือ csh (1) ได้) ซึ่งสามารถ evalled ในเชลล์ที่โทรได้เช่น eval
ssh-agent -s
สำหรับเชลล์ประเภท Bourne เช่น sh (1) หรือ ksh (1) และ evalssh-agent -c
สำหรับ csh (1) และอนุพันธ์
หลังจากติดตั้งacct
และรีบูตนี่เป็นผลลัพธ์ของ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
จากหน้าคน:
F - คำสั่งดำเนินการหลังจากทางแยก แต่ไม่มี exec ต่อไปนี้
ฉันไม่แน่ใจว่านั่นสำคัญหรือไม่
X11/Xsession.options:use-ssh-agent
X11/Xsession.d/90x11-common_ssh-agent:SSHAGENT=/usr/bin/ssh-agent
ฉันจะลองacct
และlastcomm
ต่อไป ขอบคุณ
lastcomm
สำหรับเซสชั่นเต็มรูปแบบไม่เพียง แต่ssh-agent
กระบวนการ ประเด็นคือต้องดูว่าโปรแกรมต่าง ๆ เริ่มเรียงตามลำดับอย่างไร
ssh-agent
/etc/X11/Xsession.d/90x11-common_ssh-agent
นี้สามารถระงับโดยการลบจากuse-ssh-agent
/etc/X11/Xsession
ไฟล์เหล่านั้นถูกต้องหรือไม่ เอเจนต์เริ่มทำงานแล้วจึงฆ่าหรือไม่เริ่มเลย (ติดตั้งacct
และเรียกใช้lastcomm
หลังจากเข้าสู่ระบบเพื่อดูว่าโปรแกรมใดถูก lauched)