ฉันไม่รู้คีย์ SSH ประเภทต่างๆ แต่คุณจะใส่กุญแจสาธารณะในคอมพิวเตอร์ปลายทางไม่ใช่รหัสส่วนตัวของคุณ รหัสส่วนตัวของคุณยังคงเป็นส่วนตัว
และรหัสสาธารณะของคอมพิวเตอร์ต้นทางควรวางไว้บนคอมพิวเตอร์ปลายทางใน~/.ssh/authorized_keys
ซึ่งสามารถทำได้ด้วยตนเองหรือผ่านssh-keygen
คำสั่ง
ฉันขอแนะนำให้คุณทำ cat กับคีย์สาธารณะบนคอมพิวเตอร์ต้นทางและ cat บน authorized_keys บนคอมพิวเตอร์ปลายทางและตรวจสอบให้แน่ใจว่าของซอร์สนั้นดูเหมือนว่าเป็นรูปแบบเดียวกับที่อยู่ใน authorized_keys
ไฟล์ known_hosts เป็นสิ่งที่ได้รับการผนวกเข้าโดยอัตโนมัติ คุณไม่จำเป็นต้องแก้ไขด้วยตนเอง คุณสามารถเชื่อมต่อได้แม้หลังจากลบไฟล์ known_hosts
Edit-
เพื่อรวมข้อคิดเห็นบางอย่างไว้ในคำตอบ กุญแจสาธารณะมาจากรหัสส่วนตัว ปกติแล้วรหัสส่วนตัวจะยังคงเป็นส่วนตัวอยู่ แต่ OP ได้รับรหัสส่วนตัวซึ่งเป็นสิ่งที่ผิดปกติ แต่เป็นวิธีที่น่าสนใจในการทำเช่นนี้เพราะหมายความว่าคอมพิวเตอร์ปลายทางสามารถมีรหัสสาธารณะของเขาได้แล้ว ดังนั้นเขาสามารถเข้าสู่ระบบได้โดยไม่ต้องเพิ่มอะไรเข้าไปใน authorized_keys ที่ได้รับอนุญาตของคอมพิวเตอร์ปลายทาง ssh -i ใช้คีย์ส่วนตัวเสมอ เขาต้องการเพียงทำssh -i path/to/privatekeyfile user@dest
OP ใช้ "openstack" บริการคลาวด์บางอย่างและเป็นเว็บไซต์ openstack พูดว่า docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem ubuntu@10.0.0.2
ดังนั้นสิ่งที่ชื่อของไฟล์คีย์ส่วนตัว เป็นและทุกที่มันถูกเก็บไว้คุณระบุว่าเมื่อทำssh -i