วิธีเพิ่มไฟล์ PEM เป็นคีย์ส่วนตัว SSH ไปยัง "โฮสต์ที่รู้จัก"


8

ฉันมีเดสก์ท็อป Ubuntu และฉันได้รับไฟล์ PEM ( mykey.pem) นั่นคือคีย์ส่วนตัว SSH สำหรับเซิร์ฟเวอร์ Linux ฉันกำลังพยายามหาตำแหน่งที่ไฟล์ PEM นี้จะต้องวางไว้ในเครื่องของฉันและวิธีการกำหนดค่า / เพิ่มลงใน "โฮสต์ที่รู้จัก SSH" ของฉัน

การไปที่หัวข้อนี้จะทำให้เกิดคำตอบ / บทความจำนวนมากสำหรับการสร้างคีย์ SSH แต่ไม่ใช่สำหรับการเพิ่มคีย์ที่มีอยู่ไปยังโฮสต์ที่รู้จัก ไอเดีย?


// , คำถามที่ดี! สิ่งนี้ควรใช้งานได้: $ ssh-keygen -y -f mykey.pem >> ~ / .ssh / authorized_keys แผนกไอทีจำนวนมากเกินไปเพียงแค่ส่งไฟล์ PEM ออกมาโดยไม่ต้องมีคำแนะนำใด ๆ เกี่ยวกับการใช้งานแบบโลคัล หากใครต้องการข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ฉันสามารถเพิ่มคำตอบได้
Nathan Basanese

คำตอบ:


5

ฉันไม่รู้คีย์ 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


ขอบคุณ @barlop (+1) - หากคุณอ่านประโยคแรกของคำถามคุณจะเห็นฉันระบุว่าไฟล์ PEM เป็นรหัสส่วนตัว SSH และฉันพยายามติดตั้งอย่างถูกต้องบนคอมพิวเตอร์ของฉัน ฉันไม่กังวลเกี่ยวกับฝั่งเซิร์ฟเวอร์ที่ได้รับการดูแลสำหรับฉันแล้ว ดังนั้นคำถามของฉันคือฉันจะติดตั้งคีย์ส่วนตัวบนเครื่อง Ubuntu ของฉันได้อย่างไร มันเป็นกุญแจสำคัญที่ฉันไม่ได้สร้างผ่านssh-keygen; มันถูกมอบให้ฉันโดยแหล่งที่เชื่อถือได้
smeeb

1
@smeeb ทำไมบางคนถึงให้คีย์ส่วนตัวกับพวกเขา รหัสส่วนตัวของพวกเขามีไว้เพื่อเป็นส่วนตัวกับพวกเขา
barlop

ขอขอบคุณอีกครั้ง @barlop (+1) - แต่มันไม่ใช่ใครบางคนมันเป็นOpenStackซึ่งเป็น IaaS ที่สร้างคลาวด์ มันเป็นโครงการโอเพ่นซอร์สอันทรงพลังที่มีชั่วโมงทำงานหลายล้านชั่วโมงและการสนับสนุนองค์กรที่อยู่เบื้องหลัง มุมมอง 30,000 ฟุตที่นี่คือเพื่อสร้าง "แอปอินสแตนซ์" ใหม่บน OpenStack Horizon คุณต้องสร้างคู่คีย์ SSH ก่อน OpenStack ติดตั้งคีย์สาธารณะโดยอัตโนมัติในอินสแตนซ์ใหม่ คุณควรดาวน์โหลดไพรเวตคีย์ (ไฟล์ PEM) และติดตั้งในเครื่องเพื่อให้คุณสามารถ SSH ลงในอินสแตนซ์ได้หากต้องการ
smeeb

@smeeb ฉันไม่รู้เกี่ยวกับ openstack มาก แต่คุณสามารถทำเช่นนั้นssh -i ~/.ssh/id_rsa bodhi@ssh.server.com หรือเป็นเว็บไซต์openstack พูดว่า docs.openstack.org/user-guide/content/ssh-into-instance.html$ ssh -i MyKey.pem ubuntu@10.0.0.2 ดังนั้นสิ่งที่ชื่อของคีย์ส่วนตัว ไฟล์เป็นและทุกที่มันจะถูกเก็บไว้คุณระบุว่าเมื่อทำssh -i
barlop

1
นอกจากนี้เนื่องจากรหัสสาธารณะมาจากรหัสส่วนตัวอาจเป็นไปได้ว่าคำสั่งนั้นจะทำเช่นนั้นเนื่องจากพวกเขาควรมีรหัสสาธารณะอยู่แล้วหากพวกเขาให้รหัสส่วนตัวแก่คุณ ดังนั้นคุณจะไม่ต้องเพิ่มกุญแจสาธารณะให้กับ authorized_keys ในคอมพิวเตอร์ของพวกเขาเพราะมันมีอยู่แล้ว
barlop
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.