วิธีการส่งต่อเอเจนต์ SSH บนเทอร์มินัล Mac


12

ฉันได้ตรวจสอบบทเรียนมากมายเกี่ยวกับเรื่องนี้แล้ว แต่ยังไม่ชัดเจน

ตามวิธีการมีอยู่สองวิธีในการกำหนดค่าสำหรับการส่งต่อตัวแทน

  1. ใน~/.ssh/configชุดไฟล์กำหนดค่าของคุณ

    Host example.com
    
    ForwardAgent yes
    
  2. ssh-addโดยการเพิ่มตัวตนเช่น

มีประโยชน์อะไรบ้าง

  1. การส่งต่อตัวแทน SSH ใช้เพื่อจัดเก็บวลีรหัสผ่าน เพื่อที่เราไม่จำเป็นต้องใส่วลีรหัสผ่านในแต่ละครั้ง?

  2. เราต้องการเซิร์ฟเวอร์สองเครื่องเพื่อทดสอบการส่งต่อตัวแทน SSH หรือไม่ กรุณาแนะนำ หรือเราสามารถทดสอบกับเซิร์ฟเวอร์เดียวได้หรือไม่

ฉันตรวจสอบลิงค์ศูนย์กลางคอมไพล์แล้วและทำตามขั้นตอนเดียวกัน ฉันสามารถดูตัวแทน เมื่อรันคำสั่งนี้echo "$SSH_AUTH_SOCK" หมายความว่าทำงานหรือไม่

ฉันจะทำกับเซิร์ฟเวอร์ของฉันได้อย่างไร กรุณาแนะนำฉัน

UPDATE: เมื่อฉันพยายาม ssh ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ใน terminal

เอเจนต์ยอมรับว่าไม่สามารถลงชื่อโดยใช้คีย์ได้

คำตอบ:


8

1) วิธีหนึ่งที่จะใช้มันถูกต้องอื่น ๆ -Aที่เป็นอาร์กิวเมนต์

2) Agent กำลังจัดเก็บวลีรหัสผ่านสำหรับกุญแจ การส่งต่อตัวแทนใช้สำหรับการใช้ข้อมูลประจำตัวท้องถิ่น (มีหรือไม่มีวลีรหัสผ่าน) บนเซิร์ฟเวอร์ระยะไกลโดยไม่จำเป็นต้องคัดลอกลงในสภาพแวดล้อมที่อาจไม่ปลอดภัย

3) คุณสามารถทดสอบกับเซิร์ฟเวอร์เครื่องเดียวตัวอย่างเช่น localhost

4) echo "$SSH_AUTH_SOCK"ควรตรวจสอบว่ามีการตั้งค่า แต่การทำssh-add -Lจะตรวจสอบได้อย่างน่าเชื่อถือมากขึ้นเพราะมันจะทดสอบการเชื่อมต่อกับตัวแทน


ขอบคุณสำหรับการตอบกลับหมายความว่าเราต้องเพิ่มคีย์และ ssh เหมือนกับคีย์ที่เพิ่มเข้าไปหรือไม่ ssh username@servername.com และมันจะไม่ถามคุณวลีรหัสผ่านเพราะมันเก็บโดยตัวแทน เราสามารถใช้ servername = localhost ได้ไหม?
Niks

ssh-add your-keyเพื่อเพิ่มกุญแจของคุณไปยังตัวแทน (มันจะถามหาวลีรหัสผ่านหนึ่งครั้ง) หากยังมีชีวิตอยู่ จากนั้นssh server(พร้อม-Aหรือตัวเลือกการกำหนดค่า) จะไม่ถามวลีรหัสผ่านและการเชื่อมต่ออื่น ๆ จากไม่ควรถามจากโฮสต์นั้นไม่ควรถามวลีรหัสผ่าน)
Jakuje

ขอบคุณ ... หมายถึงถ้าฉันตั้งตัวแทนไปข้างหน้าใช่ในไฟล์ปรับแต่งแล้วฉันสามารถ ssh โดยไม่ต้องใช้ -? กรุณาแนะนำ
Niks

สวัสดี .. เมื่อฉันรันคำสั่ง $ SSH_AUTH_SOCK ฉันได้รับผลลัพธ์เป็น: -bash: /tmp/ssh-gT43vE99vk/agent.511: การอนุญาตถูกปฏิเสธฉันสับสนที่นี่ .. พยากรณ์ตัวแทนส่งต่อการทำงานหรือไม่ .. คุณช่วยแนะนำฉันได้ไหม ? นอกจากนี้ยังssh-add -Lมีรายชื่อนี้มันสำคัญ SSH I เพิ่ม กรุณาแนะนำฉัน
Niks

ไม่มี "คำสั่งที่รัน$SSH_AUTH_SOCK" มันเป็นตัวแปรสภาพแวดล้อมที่มีเส้นทางไปยังซ็อกเก็ตโดเมน unix และคุณไม่สามารถเรียกใช้งานได้ แต่ssh-addสามารถสื่อสารกับตัวแทนของคุณผ่านซ็อกเก็ตนี้ ฉันเขียนecho "$SSH_AUTH_SOCK"ที่ตรวจสอบคุณว่าตัวแปรตั้ง
Jakuje
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.