วิธีทำให้ ssh จดจำการปลดล็อก ssh-keys ไม่ได้อยู่ในไดเรกทอรีเริ่มต้น


0

ฉันจัดโครงสร้างคีย์ส่วนตัว / สาธารณะของฉันในโฟลเดอร์ย่อยของ ".ssh" เรียกว่า "คีย์" การแมปทำได้โดยไฟล์. ssh / config ตอนนี้ฉันต้องพิมพ์ข้อความรหัสผ่านใหม่สำหรับทุกคีย์ทุกครั้งที่ใช้งาน

ก่อนการเปลี่ยนแปลงนี้คีย์ปลดล็อคจะถูกจดจำตามความต้องการโดยอัตโนมัติตามลักษณะการทำงานเริ่มต้น (OS: Ubuntu)

คำตอบ:


0

ใช้เสื้อคลุมkeychainเรียบง่ายssh-agentเพื่อจัดการสิ่งนี้ให้คุณ

เพิ่มในของคุณ~/.bashrc:

eval $(keychain --clear --eval id_rsa id_dsa id_ecdsa other.id_rsa )

วิธีนี้คุณจะต้องพิมพ์ข้อความรหัสผ่านของคุณเพียงครั้งเดียวเมื่อเข้าสู่ระบบ คุณยังสามารถเพิ่มและลิสต์คีย์ด้วยตนเองโดยตรงโดยใช้เอเจนต์ตามปกติ:

$ ssh-add -l
4096 10:93:fe:6c:2b:36:xx:be:78:xx:bd:xx:b7:f9:0f:46 /home/user/.ssh/id_rsa (RSA)
1024 86:dc:ed:e0:c8:f4:99:bc:99:ee:55:xx:ac:51:e6:cb /home/user/.ssh/id_dsa (DSA)
521 28:xx:f4:d6:10:xx:40:4b:cd:xx:ef:e2:fc:8f:0b:xx /home/user/.ssh/id_ecdsa (ECDSA)
4096 5d:5a:xx:41:xx:2e:ab:ae:xx:ff:5c:47:xx:3a:cf:xx /home/user/.ssh/other.id_rsa (RSA)

--evalโต้แย้งในkeychain(1)ยอมรับเส้นทางเต็มรูปแบบเพื่อให้คุณสามารถมีคีย์ของคุณทุกที่ที่คุณต้องการ


โซลูชันนี้ไม่เทียบเท่ากับการเพิ่มคีย์ด้วยตนเองใน bashrc ผ่านssh-addหรือไม่ พฤติกรรมที่ต้องการคือมีการขอรหัสผ่านเมื่อต้องการคีย์ ( ตามต้องการ ) และเก็บไว้สำหรับงานต่อไปนี้
JD3

keychainเป็นwrapper ssh-agentดังที่ได้กล่าวไว้ข้างต้นดังนั้นจึงเป็นวิธีที่สะดวกในการไม่ต้องใช้ssh-agentโดยตรง ข้อดีมีการจัดการssh-agent(และgpg-agentถ้าจำเป็น) สำหรับคุณ ssh-addคุณสามารถเริ่มต้นด้วยปุ่มบางอย่างเพิ่มโดยอัตโนมัติในการเข้าสู่ระบบและเพิ่มส่วนที่เหลืออยู่กับความต้องการใช้ วิธีการแก้ปัญหานี้ประกอบกับ~/.ssh/configไฟล์ที่ระบุว่าจะใช้กุญแจแบบใดกับผู้ใช้ต่อโฮสต์ / ผู้ใช้คือสิ่งที่ฉันรู้สึกสะดวกสบายในการใช้
dawud
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.