ssh -A ไม่ได้เปิดใช้งานการส่งต่อการเชื่อมต่อตัวแทนการตรวจสอบอย่างถูกต้อง


22

ฉันชอบssh -Aซึ่งทำให้ฉันสามารถใช้คีย์ ssh ในพื้นที่ของฉันเมื่อสร้างการเชื่อมต่อจากเซิร์ฟเวอร์ระยะไกล ตัวอย่างเช่นฉันssh -A host1.example.comจากนั้นฉันสามารถssh host2.example.com(หรือใช้ git) และใช้คีย์ ssh ของฉันจากเครื่องเดิมซึ่งในกรณีนี้ควรเป็น mac ของฉัน แม้ว่าสิ่งนี้จะใช้ได้กับฉันใน Debian / Ubuntu เสมอ แต่มันก็ไม่สามารถใช้กับ mac ใหม่ของฉัน (Lion)

สิ่งที่ฉันหายไปที่นี่? ฉันจะกำหนดค่า ssh ให้ทำงานอย่างถูกต้องกับ -A ได้อย่างไร ฉันต้องการ ssh ที่ไม่ใช่ MacOS มาตรฐานหรือไม่

คำตอบ:


33

จริงๆแล้วคำตอบที่ง่ายมากคือคุณต้องวิ่ง

ssh-add

แล้วมันก็ใช้งานได้

โดยทั่วไปแล้ว macOS ได้ตั้งค่า ssh-agent ไว้ให้คุณแล้ว แต่หลังจากรีบูตแต่ละครั้งคุณจะต้องเพิ่มคีย์เข้าไป ssh-add ให้การเข้าถึง ssh-agent กับคีย์ของคุณสำหรับรอบการบู๊ตปัจจุบัน คุณจะต้องป้อนรหัสผ่านสำหรับรหัสส่วนตัวของคุณหากคุณสร้างขึ้น


ที่แก้ไขปัญหาการส่งต่อ ssh ล่าสุดของฉันหลังจากการอัพเกรดเป็น macOS (หลังจาก 5 ปียังคงเป็นคำตอบที่มีประโยชน์ขอบคุณ @rfay)
23tux

วิธีนี้ใช้ได้ผล แต่มีคำอธิบายว่าทำไมจึงมีประโยชน์ / ช่วยให้คนจำคำสั่งนี้ได้
Adam Parkin

2
@ AdamParkin เพิ่มอีกหนึ่งย่อหน้าที่อธิบาย
rfay

1

แนวคิดที่อยู่เบื้องหลังssh -Aเป็นตัวแทน SSH พวกเขาทำงานในพื้นหลังและผ่านการใช้ตัวแปรสภาพแวดล้อมที่ตัวแทนสามารถอยู่และใช้สำหรับการตรวจสอบโดยอัตโนมัติเมื่อเข้าสู่ระบบเครื่องอื่นโดยใช้ ssh ดูที่ manpage ของ ssh-agent สำหรับรายละเอียดเพิ่มเติม

ด้วย Mac OS X เอเจนต์ ssh ควรเริ่มทำงานตามต้องการ

สำหรับข้อมูลเพิ่มเติมดู:


1

ตั้งแต่ OS X 10.8 คุณต้องทำสิ่งนี้ครั้งเดียว:

sudo touch /var/db/useLS

และเพิ่มสิ่งนี้เป็นส่วนหนึ่งของ~/.bash_profile:

if [ -f ~/.ssh/id_rsa ]; then
    ssh-add -K ~/.ssh/id_rsa 2>/dev/null
fi

หมายเหตุ: สูตรนี้เป็นส่วนหนึ่งของสคริปต์ชาวเบดูอินของฉัน


อืมลองทำดูสิ เอเจนต์จะเริ่มทำงาน แต่คุณยังคงต้อง ssh-add เพื่อให้อะไรทำงาน ดังนั้นการเพิ่ม ssh เพียงอย่างเดียวยังคงเป็นคำตอบเท่าที่ฉันเข้าใจ ฉันเดาว่าฉันควรเพิ่มลงใน. bash_profile ของฉัน
rfay

แล้วถ้าคีย์ส่วนตัวของฉันต้องการข้อความรหัสผ่านล่ะ?
Jeffrey04
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.