บทช่วยสอนนี้จะแสดงวิธีสร้างและรักษาความปลอดภัยให้กับคีย์ SSH บน macOS Sierra (10.12) และ macOS High Sierra (10.13) คีย์ SSH ช่วยให้คุณสามารถเข้าสู่เซิร์ฟเวอร์ของคุณโดยไม่มีรหัสผ่าน พวกเขาเพิ่มความสะดวกสบายเช่นเดียวกับความปลอดภัยโดยมีความต้านทานต่อการโจมตีที่โหดร้าย
SSH (Secure Shell) เป็นโปรโตคอลที่ใช้บ่อยที่สุดสำหรับการจัดการระยะไกลและสำหรับการถ่ายโอนไฟล์มักจะแสดงเป็น sFTP (Secure File Transfer Protocol) เมื่อเข้าถึงเซิร์ฟเวอร์ระยะไกลเช่น Vultr VPS ขอแนะนำให้ใช้ SSH กับ PKE (การแลกเปลี่ยนกุญแจสาธารณะ) ซึ่งใช้คู่คีย์ที่ให้กุญแจสาธารณะแก่เซิร์ฟเวอร์และกุญแจส่วนตัวในที่จัดเก็บไว้ในเครื่องของคุณ
SSH Keys สามารถเพิ่มโดยอัตโนมัติไปยังเซิร์ฟเวอร์ในระหว่างกระบวนการติดตั้งโดยการเพิ่มกุญแจสาธารณะของคุณในแผงควบคุม Vultr คุณสามารถจัดการกุญแจ SSH ของคุณในหน้านี้ เป็นสิ่งสำคัญที่ต้องจำไว้ว่านี่เป็นกุญแจสาธารณะของคุณเท่านั้น (มักเขียนด้วย.pub
) คุณไม่ควรเปิดเผยกุญแจส่วนตัวของคุณ
ประเภทคีย์
มีคีย์หลายประเภทให้เลือก ใช้อาร์กิวเมนต์เมื่อรุ่นเช่น-t
ssh-keygen -t ed25519
ชนิดคีย์ ED25519 ซึ่งใช้ลายเซ็นรูปไข่ - โค้งมีความปลอดภัยและมีประสิทธิภาพมากกว่า DSA หรือ ECDSA ซอฟต์แวร์ SSH ที่ทันสมัยที่สุด (เช่น OpenSSH ตั้งแต่รุ่น 6.5) รองรับประเภทคีย์ ED25519 แต่คุณยังอาจพบซอฟต์แวร์ที่เข้ากันไม่ได้ดังนั้นประเภทคีย์เริ่มต้นยังคงเป็น RSA
ประเภทคีย์เริ่มต้นคือ RSA 2048 บิตซึ่งให้ความปลอดภัยที่ดี เพื่อความปลอดภัยที่สูงขึ้นคุณสามารถเลือกขนาดของคีย์ที่ใหญ่กว่าโดยใช้-b
อาร์กิวเมนต์ในการสร้างเช่นssh-keygen -b 4096
การสร้างคู่คีย์ RSA 4096 บิต
การสร้างคีย์
ในการสร้างคีย์ SSH คุณจะต้องเปิดTerminal.app
พบใน "แอปพลิเคชัน> โปรแกรมอรรถประโยชน์> เทอร์มินัล"
ในการสร้างคู่คีย์ RSA 4096 บิตให้ป้อน:
ssh-keygen -b 4096
จากนั้นคุณจะเห็น:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):
การกดEnter / Returnจะเป็นการบันทึกคู่กุญแจใหม่ของคุณไปยังตำแหน่งเริ่มต้นซึ่งแนะนำ จากนั้นคุณจะมีตัวเลือกในการสร้างข้อความรหัสผ่านซึ่งจะเข้ารหัสคีย์เพื่อให้ไม่สามารถใช้งานได้หากไม่ได้รับอนุญาต แนะนำให้ใช้ข้อความรหัสผ่าน
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:0irBXp+xKwT5e0ZFklbEVkzxu0Bzv9PmvstFD5w6zlQ [email protected]
The key's randomart image is:
+---[RSA 4096]----+
| =o++. |
| + + .. |
| . . + o o |
| .o . .. + + |
| ooo S. . E o|
| . oo+.+ + ++|
| o..o+ + .o=|
| .o o. + ..oo|
| +. o ==|
+----[SHA256]-----+
ณ จุดนี้ keypair ~/.ssh/id_rsa
ของคุณได้รับการสร้างและเก็บไว้ใน ในการทำให้กุญแจพร้อมใช้งานกับระบบและจัดเก็บวลีรหัสผ่านในพวงกุญแจระบบเราจะต้องดำเนินการตามขั้นตอนเพิ่มเติมหลายขั้นตอน โปรดทราบว่านี่เป็นสิ่งจำเป็นเท่านั้นหากคุณไม่ต้องการให้ใส่ข้อความรหัสผ่านของคีย์ทุกครั้งที่ใช้
เพิ่ม keypair ใหม่ให้กับตัวแทน SSH
ssh-add -K ~/.ssh/id_rsa
เข้าสู่ จากนั้นคุณจะได้รับแจ้งให้ป้อนข้อความรหัสผ่านและคุณจะเห็นสิ่งต่อไปนี้:
Identity added: id_rsa ([email protected])
หากคุณต้องการใช้คีย์ SSH นี้เพื่อเข้าสู่เซิร์ฟเวอร์ที่ถูกสร้างขึ้นแล้วคุณสามารถใช้ssh-copy-id
เครื่องมือเพื่อเก็บกุญแจสาธารณะบนเซิร์ฟเวอร์ที่คุณต้องการเข้าถึง
เพิ่มรหัสใหม่ไปยังเซิร์ฟเวอร์ระยะไกล
การใช้ssh-copy-id
:
# Substitute your server IP
ssh-copy-id -i ~/.ssh/id_rsa [email protected]
คอนโซลจะขอรหัสผ่านเข้าสู่ระบบของคุณเนื่องจากเซิร์ฟเวอร์ระยะไกลยังไม่ทราบรหัสของคุณ คุณจะเห็นสิ่งต่อไปนี้:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
ตอนนี้คุณสามารถพยายามเข้าสู่เซิร์ฟเวอร์ระยะไกลด้วยssh [email protected]
และคุณควรจะเชื่อมต่อโดยไม่ต้องแจ้งรหัสผ่าน