ค้นหาคีย์ SSH สาธารณะที่เกี่ยวข้อง

สมมติว่าฉันได้เพิ่มรหัสสาธารณะ ssh ไปที่ ~/.ssh/authorized_keys และฉันกำลังเข้าไปในเครื่องจากเครื่องไคลเอนต์ของฉันโดยใช้ ssh -i <private_key> [email protected] มีวิธีค้นหาคีย์สาธารณะ (ยอมรับ) ที่เกี่ยวข้องโดยทางโปรแกรมกับคีย์ ssh ของฉันจาก ~/.ssh/authorized_keys หลังจาก ssh หรือไม่ ฉันสมมติว่าฉันมีหลายคีย์ใน allowance_keys


person GTDev    schedule 03.10.2015    source แหล่งที่มา


คำตอบ (3)


ฉันคิดว่าคุณสามารถ (ab) ใช้ตัวเลือกคำสั่งภายในauthorized_keysได้เช่น:

command="echo key1; /bin/bash" ssh-rsa ...

คุณยังสามารถตั้งค่าตัวแปรสภาพแวดล้อมได้ เช่น:

command="KEY=key1 /bin/bash" ssh-rsa ...

จากนั้นเมื่อคุณเข้าไปคุณจะได้รับ:

-> % ssh user@host
key1
[user@host ~]$

ไม่รู้จริงๆว่านี่คือจำนวนที่คุณต้องการโดยทางโปรแกรมหรือไม่

person borancar    schedule 03.10.2015
comment
เรียบร้อยมาก ดีกว่าของฉัน +1 - person Alastair McCormack; 03.10.2015

~/.ssh/authorized_keys มีกุญแจสาธารณะ ดังนั้นสิ่งที่คุณต้องทำทั้งหมดจึงตรงกับกุญแจสาธารณะของกุญแจส่วนตัวของคุณ

คุณสามารถสร้างคีย์สาธารณะของคีย์ส่วนตัวได้โดยใช้:

openssl rsa -in <private_key> -pubout
person Alastair McCormack    schedule 03.10.2015

มีคีย์สาธารณะที่ตรงกันเพียง 1 อันสำหรับคีย์ส่วนตัวของคุณ (ไม่เช่นนั้น PKI จะใช้งานไม่ได้)

ดังนั้นคุณก็สามารถวิ่งได้

 ssh-keygen -y -f ~/.ssh/your_priv_key > your_pub_key
person Eugene K    schedule 03.10.2015