ปัญหา: ฉันมีssh-agent
ตัวตนประมาณ 20-30 ตัว เซิร์ฟเวอร์ส่วนใหญ่ปฏิเสธการรับรองความถูกต้องด้วยToo many failed authentications
โดยทั่วไป SSH จะไม่ให้ฉันลองใช้ 20 คีย์ที่แตกต่างกันในการเข้าสู่ระบบ
ในขณะนี้ฉันกำลังระบุไฟล์ข้อมูลประจำตัวสำหรับทุกโฮสต์ด้วยตนเองโดยใช้IdentityFile
และIdentitiesOnly
คำสั่งเพื่อให้ SSH จะลองใช้ไฟล์คีย์หนึ่งไฟล์เท่านั้นซึ่งทำงานได้
แต่น่าเสียดายที่นี่จะหยุดทำงานทันทีที่ปุ่มเดิมไม่สามารถใช้งานได้อีกต่อไป ssh-add -l
แสดงพา ธ ที่ถูกต้องให้ฉันสำหรับไฟล์คีย์ทุกไฟล์และพวกเขาจับคู่กับพา.ssh/config
ธ แต่มันไม่ทำงาน เห็นได้ชัดว่า SSH เลือกการเยื้องตามลายเซ็นของกุญแจสาธารณะและไม่ใช่โดยชื่อไฟล์ซึ่งหมายความว่าจะต้องมีไฟล์ต้นฉบับเพื่อที่ SSH จะสามารถแยกคีย์สาธารณะได้
มีสองปัญหากับสิ่งนี้:
- มันจะหยุดทำงานทันทีที่ฉันถอดปลั๊กแฟลชไดรฟ์ที่ถือกุญแจ
- ทำให้เอเจนต์ส่งต่อไร้ประโยชน์เนื่องจากไฟล์คีย์ไม่พร้อมใช้งานบนรีโมตโฮสต์
แน่นอนว่าฉันสามารถแยกกุญแจสาธารณะออกจากไฟล์ข้อมูลส่วนตัวของฉันและเก็บไว้ในคอมพิวเตอร์ของฉันและในคอมพิวเตอร์ระยะไกลทุกเครื่องที่ฉันมักจะลงชื่อเข้าใช้ มันไม่ได้เป็นวิธีที่น่าพอใจ
สิ่งที่ฉันต้องการคือความเป็นไปได้ในการเลือกข้อมูลประจำตัวจาก ssh-agent ตามชื่อไฟล์เพื่อให้ฉันสามารถเลือกคีย์ที่ถูกต้องโดยใช้.ssh/config
หรือผ่าน-i /path/to/original/key
แม้ในพื้นที่ห่างไกลที่ฉันเข้า SSH มันจะดีกว่านี้ถ้าฉันสามารถ "ตั้งชื่อเล่น" กุญแจให้ฉันได้โดยไม่ต้องระบุเส้นทางแบบเต็ม
authorized_keys
ไฟล์ที่เรียกใช้คำสั่งต่าง ๆ โดยขึ้นอยู่กับคีย์ที่ใช้เรียกใช้คำสั่งที่ต่างกัน