วิธีสร้างคีย์ส่วนตัว - สาธารณะโดยใช้ ssh-keygen และทำให้มันได้รับอนุญาต?


19

ฉันต้องการสร้างคีย์สาธารณะส่วนตัวบน Sever 1 และเก็บไว้ในตำแหน่งที่ไม่ใช่ตำแหน่งเริ่มต้น

หลังจากนั้นให้บันทึกรหัสสาธารณะบนเซิร์ฟเวอร์ 2 ไม่อยู่ที่ตำแหน่งเริ่มต้นอีกครั้ง

จากนั้นทำให้คีย์นี้เป็นคีย์ที่ได้รับอนุญาต

อย่างไรก็ตามฉันไม่พบauthorized_keysไฟล์ใน~/.sshโฟลเดอร์ ฉันจะทำให้ได้รับอนุญาตได้อย่างไร


1
ssh-keygen เป็นคำสั่งสำหรับการสร้างคีย์ มันขอตำแหน่งของไฟล์คีย์ในระหว่างการสร้าง ฉันคิดว่าคุณต้องสร้างไฟล์ที่สำคัญที่ได้รับอนุญาตถ้าคุณไม่ได้หนึ่ง
sagarchalise

คำตอบ:


22
  1. ssh-keygen -f filenameวิ่ง
  2. วิ่ง scp filename username@server:filename-on-server
  3. ล็อกอินเข้าสู่เซิร์ฟเวอร์และเรียกใช้ cat filename-on-server >> ~/.ssh/authorized_keys

นอกจากนี้คุณยังสามารถใช้ทดแทนขั้นตอนที่ 2 และ 3 ssh-copy-id -i filename username@serverด้วย


ฉันได้รับข้อผิดพลาด: มีการโต้แย้งจำนวนมากเกินไป
IgorGanapolsky

@Igor ขั้นตอนใด
Mikel

1
คุณไม่ควรผนวก filename.pub แทนชื่อไฟล์ (ซึ่งจะเป็นกุญแจส่วนตัวของคุณ?)
ซามูเอล

1

ใช้ssh-keygenคำสั่ง บนเซิร์ฟเวอร์ (ที่คุณต้องการจะ SSH) ~/.ssh/authorized_keysเก็บคีย์สาธารณะในแฟ้ม หากคุณยังไม่มีไดเรกทอรี. ssh อยู่ภายในบ้านของคุณ (~) ให้สร้างมันขึ้นมา (ระวังตัวด้วย: ดูเหมือนว่า sshd นั้นน่ารังเกียจเพราะเหตุผลด้านความปลอดภัย - ไม่มีผู้ใช้รายอื่นสามารถอ่านไฟล์ / dir ได้ดีกว่าที่จะออก chmod 700 ในไดเรกทอรี. ssh ของคุณและ chmod 600 บนไฟล์ในนั้น)

บนเครื่องที่คุณต้องการ ssh จาก ("ไคลเอนต์") คุณสามารถใช้ไพรเวตคีย์เพื่อ ssh ไปยังเซิร์ฟเวอร์ของคุณได้ คุณสามารถเก็บไว้ที่ใดก็ได้จากนั้นคุณสามารถใช้-iสวิตช์ของ ssh เพื่อมอบรหัสสาธารณะที่จะใช้ ฉันเขียนสิ่งนี้เนื่องจากคุณระบุว่า "ไม่เก็บที่ตำแหน่งเริ่มต้น" ตำแหน่งเริ่มต้นจะเป็นfile id_dsa(สำหรับคีย์ DSA) ในไดเรกทอรี. ssh ของคุณ จากนั้นคุณไม่จำเป็นต้องใช้-iสวิตช์เพื่อระบุรหัสของคุณเพราะมันจะถูกเลือกจากที่นั่นโดยอัตโนมัติ


1

ฟังดูเหมือนคุณทำกุญแจไปแล้ว ถ้าไม่ใช่ให้เรียกใช้ ssh-keygen และยอมรับค่าเริ่มต้น ทำไฟล์ที่ได้รับอนุญาตด้วยตัวเอง:touch authorized_keys

เมื่อคุณเก็บคีย์ส่วนตัวของคุณในตำแหน่งที่ไม่ได้มาตรฐานให้แน่ใจและใช้ -i: ssh -i /path/to/privatekey user@host

นี่เป็นบทความที่ดีเกี่ยวกับ ssh-keygen และการใช้งาน

http://www.debuntu.org/secure-your-ssh-server-with-publicprivate-key-authentification/

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