สมมติว่าฉันมีกุญแจสำหรับ Github พร้อมกับปุ่มอื่น ๆ ฉันได้เพิ่มกุญแจจำนวนมากให้กับตัวแทน ssh ของฉัน ( ssh-add -L
คืนสายจำนวนมาก) ที่คอมพิวเตอร์ที่บ้านของฉัน A. ในฉัน.ssh/config
ฉันได้ตั้งค่าคีย์ที่จะใช้กับโฮสต์ที่ดังนั้นเช่น
ssh -T -vvv git@github.com 2>&1 | grep Offering
จะช่วยให้
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
เสนอคีย์เดียวเท่านั้นตามที่คาดไว้ แต่จากนั้นจึงไปยังโฮสต์ B ด้วยForwardAgent yes
และทำซ้ำคำสั่งเดียวกันฉันจะได้รับ
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
หมายความว่ามันจะลองใช้กุญแจทั้งหมดของฉัน นี่คือปัญหาตั้งแต่เพียงจำนวน จำกัด Too many authentication failures
ของคีย์สามารถพยายามก่อนที่เซิร์ฟเวอร์ของผลตอบแทน ดังนั้นฉันจึงลองแก้ไข.ssh/config
บนโฮสต์ B เพื่อรวม
Host github.com
IdentityFile /Users/doxna/.ssh/id_rsa.github
IdentitiesOnly yes
แต่ฉันก็ไม่ได้รับข้อเสนอที่สำคัญ
debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
ซึ่งฉันเดาว่าหมายความว่าไม่พบกุญแจ (?) และหลังจากนั้นกุญแจอยู่ที่คอมพิวเตอร์ที่บ้าน A ไม่ใช่ host B ดังนั้นคำถามคือวิธีอ้างอิงถึงที่ host B? หวังว่าฉันจะสามารถอธิบายคำถามได้