การตั้งค่า Public-Key Authentication
สำหรับ SSH: คู่มือทีละขั้นตอน
การตรวจสอบด้วย Public-Key Authentication เป็นวิธีที่ปลอดภัยในการเข้าสู่เครื่องระยะไกลโดยไม่ต้องใช้รหัสผ่าน แทนที่จะป้อนรหัสผ่านสำหรับการตรวจสอบแต่ละครั้ง คุณจะใช้คู่ของคีย์เข้ารหัส: คีย์สาธารณะซึ่งจะอยู่บนเครื่องระยะไกล และคีย์ส่วนตัวซึ่งจะอยู่บนอุปกรณ์ท้องถิ่นของคุณ บล็อกโพสต์นี้จะนำคุณผ่านกระบวนการที่เรียบง่ายในการตั้งค่า Public-Key Authentication สำหรับ SSH บนระบบ Linux ของคุณ
ทำไมต้องใช้ Public-Key Authentication?
- ความปลอดภัยที่เพิ่มขึ้น: แตกต่างจากรหัสผ่านซึ่งสามารถเดาหรือถูกดักจับ, การเข้ารหัสด้วยคีย์สาธารณะมีความปลอดภัยสูงกว่ามาก
- ความสะดวกสบาย: เมื่อทำการตั้งค่าแล้ว การเข้าสู่เครื่องระยะไกลของคุณจะเร็วกว่าและต้องใช้ความพยายามน้อยลง
คำแนะนำทีละขั้นตอน
ขั้นตอนที่ 1: สร้างคีย์ของคุณ
เพื่อเริ่มต้น คุณต้องสร้างคู่คีย์ส่วนตัว-คีย์สาธารณะ เปิดเทอร์มินัลของคุณและรันคำสั่งต่อไปนี้:
ssh-keygen
คำสั่งนี้จะนำคุณผ่านกระบวนการสร้างคีย์ โดยค่าเริ่มต้นจะสร้างไฟล์สองไฟล์:
id_rsa
: คีย์ส่วนตัวของคุณ (เก็บไว้อย่างปลอดภัย!)id_rsa.pub
: คีย์สาธารณะของคุณ (นี่คือคีย์ที่คุณจะแบ่งปัน)
ขั้นตอนที่ 2: คัดลอกคีย์สาธารณะไปยังเครื่องระยะไกล
ถัดไป ถึงเวลาที่จะถ่ายโอนคีย์สาธารณะของคุณไปยังเครื่องระยะไกล ซึ่งต้องการการเข้าถึงไปยังเซิร์ฟเวอร์ระยะไกลที่คุณต้องการล็อกอิน คุณต้องเพิ่มเนื้อหาของไฟล์ id_rsa.pub
ลงในไฟล์ ~/.ssh/authorized_keys
บนเซิร์ฟเวอร์ระยะไกล คุณสามารถทำได้อย่างมีประสิทธิภาพด้วยคำสั่งต่อไปนี้ (หลังจากเข้าสู่เครื่องระยะไกล):
echo "your-public-key" >> ~/.ssh/authorized_keys
หมายเหตุ: อย่าลืมแทนที่ “your-public-key” ด้วยเนื้อหาจริงจากไฟล์ id_rsa.pub
ของคุณ
ขั้นตอนที่ 3: ตั้งค่าการเข้าถึงเพื่อความปลอดภัย
เพื่อให้มั่นใจว่าคีย์ส่วนตัวของคุณถูกเก็บไว้อย่างปลอดภัย คุณต้องตั้งค่าการอนุญาตที่ถูกต้องในเครื่องท้องถิ่น ให้รัน:
chmod 600 ~/.ssh/id_rsa*
และบนเครื่องระยะไกล ให้ตั้งค่าการเข้าถึงสำหรับไฟล์คีย์ที่อนุญาตตามนี้:
chmod 600 ~/.ssh/authorized_keys
คำสั่งเหล่านี้จะจำกัดการเข้าถึงคีย์ของคุณ เพื่อให้ผู้อื่นไม่สามารถอ่านได้
ขั้นตอนที่ 4: ทดสอบการตั้งค่าของคุณ
ตอนนี้คุณพร้อมที่จะทดสอบการตั้งค่าของคุณแล้ว! ใช้คำสั่ง SSH เพื่อติดต่อกับเครื่องระยะไกล:
ssh username@remote.machine
หากทุกอย่างถูกตั้งค่าอย่างถูกต้อง ระบบจะขอให้คุณป้อน passphrase สำหรับคีย์ส่วนตัวของคุณแทนการขอรหัสผ่านของผู้ใช้ระยะไกล
ขั้นตอนที่ 5: ใช้ SSH-Agent เพื่อความสะดวกสบาย
การพิมพ์ passphrase ของคีย์ของคุณทุกครั้งที่เชื่อมต่ออาจกลายเป็นเรื่องน่าเบื่อหน่าย เพื่อทำให้กระบวนการของคุณง่ายขึ้น คุณสามารถใช้ ssh-agent
ซึ่งจะเก็บคีย์ที่ถูกถอดรหัสไว้ในหน่วยความจำ ดังนี้คือวิธีการตั้งค่า:
-
เริ่มต้น
ssh-agent
โดยใช้คำสั่ง:eval $(ssh-agent)
ตรวจสอบว่ามันกำลังทำงานอยู่แล้วโดยการใช้คำสั่ง:
echo $SSH_AUTH_SOCK
-
เพิ่มคีย์ส่วนตัวของคุณไปยังตัวแทนด้วย:
ssh-add ~/.ssh/id_rsa
หลังจากที่คุณป้อน passphrase ของคุณเพียงครั้งเดียว คุณจะไม่ต้องป้อนอีกจนกว่าคุณจะลบมันออกจากตัวแทน
-
หากคุณต้องการล้างคีย์ของคุณออกจากตัวแทน ให้รันคำสั่งง่ายๆ:
ssh-add -D
สรุป
การตั้งค่า Public-Key Authentication สำหรับ SSH เป็นวิธีที่มีประสิทธิภาพในการเพิ่มความปลอดภัยและประสิทธิภาพเมื่อเข้าถึงระบบระยะไกล โดยการทำตามขั้นตอนเหล่านี้ คุณสร้างสภาพแวดล้อมที่ปลอดภัยและปราศจากรหัสผ่านซึ่งสามารถช่วยประหยัดเวลาและลดความเสี่ยงที่เกี่ยวข้องกับการตรวจสอบด้วยรหัสผ่านแบบดั้งเดิม
ตอนนี้คุณสามารถเข้าสู่เครื่องระยะไกลของคุณได้อย่างมั่นใจและปลอดภัย! อย่าลังเลที่จะกลับมาที่คู่มือนี้เมื่อคุณตั้งค่า Public-Key Authentication บนอุปกรณ์ของคุณ