ช่วยบอกฉันหน่อยได้ไหมว่าใช้ SSH ทำไมโฮสต์ถึงต้องมีกุญแจสาธารณะและกุญแจส่วนตัวด้วย? และฉันจะสร้างคู่กุญแจสาธารณะ / ส่วนตัวให้กับตัวเองได้อย่างไร
ช่วยบอกฉันหน่อยได้ไหมว่าใช้ SSH ทำไมโฮสต์ถึงต้องมีกุญแจสาธารณะและกุญแจส่วนตัวด้วย? และฉันจะสร้างคู่กุญแจสาธารณะ / ส่วนตัวให้กับตัวเองได้อย่างไร
คำตอบ:
คุณต้องการรหัสโฮสต์เพื่อให้คุณรู้ว่าคุณกำลังเชื่อมต่อกับเซิร์ฟเวอร์ที่ถูกต้องไม่ใช่ของปลอม
# private key
openssl genrsa -out privkey.pem 2048
# public key
openssl rsa -in privkey.pem -pubout -out pubkey.pem
สำหรับข้อมูลเพิ่มเติม:
http://www.openssl.org/docs/apps/rsa.html
http://www.openssl.org/docs/HOWTO/keys.txt
มันแตกต่างจากการกระจายหนึ่งไปยังอีก บน Ubuntu ใช้คำสั่งนี้:
ssh-keygen
มันจะสร้างสองปุ่มหนึ่งสาธารณะ (หนึ่งที่คุณจะแบ่งปันไปยังเซิร์ฟเวอร์) และอื่น ๆ ที่เป็นส่วนตัวและคุณจะไม่แบ่งปันกับใคร เมื่อคัดลอกกุญแจสาธารณะใน ~ / .ssh / authorized_keys ในเซิร์ฟเวอร์คุณสามารถเข้าสู่ระบบได้โดยไม่ต้องใส่รหัสผ่าน
คีย์สาธารณะ / ส่วนตัวเป็นเหมือนล็อคและกุญแจ: เซิร์ฟเวอร์จะส่งการล็อคให้คุณ แต่เก็บรหัสไว้จากนั้นคุณล็อคข้อความของคุณไปยังเซิร์ฟเวอร์ คุณต้องส่งล็อคเซิร์ฟเวอร์เพื่อให้คุณสามารถดึงข้อมูลนั้นได้
อย่างไรก็ตามเพื่อสร้างคีย์ที่คุณควรใช้ ssh-keygen
. คุณต้องใช้กุญแจส่วนตัวและกุญแจสาธารณะในการใช้ SSL ซึ่งเป็นระบบเข้ารหัสที่ใช้คีย์ที่ไม่สมมาตร