ค้นหาเว็บไซต์

วิธีตั้งค่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH ใน Debian 10


SSH (Secure Shell) เป็นเครื่องมือยอดนิยมและใช้กันอย่างแพร่หลายสำหรับการเข้าสู่ระบบระยะไกลและการถ่ายโอนไฟล์ผ่านเครือข่ายที่ไม่ปลอดภัย ซึ่งใช้การเข้ารหัสเพื่อรักษาความปลอดภัยการเชื่อมต่อระหว่างไคลเอนต์และเซิร์ฟเวอร์

อ่านเพิ่มเติม: วิธีตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัยสำหรับ SSH บน Linux

แม้ว่าจะเป็นไปได้ที่จะใช้ SSH ด้วย ID ผู้ใช้และรหัสผ่านธรรมดาเป็นข้อมูลรับรอง แต่ขอแนะนำมากกว่านั้นคือให้ใช้การตรวจสอบสิทธิ์แบบใช้คีย์ (หรือการตรวจสอบสิทธิ์คีย์สาธารณะ) เพื่อรับรองความถูกต้องของโฮสต์ซึ่งกันและกัน และสิ่งนี้เรียกว่า SSH โดยไม่ต้องใช้รหัสผ่าน เข้าสู่ระบบ.

ความต้องการ:

  1. ติดตั้งเซิร์ฟเวอร์ขั้นต่ำ Debian 10 (Buster)

เพื่อให้เข้าใจสิ่งนี้ได้ง่ายขึ้น ฉันจะใช้เซิร์ฟเวอร์สองตัว:

  • 192.168.56.100 – (tecmint) – เซิร์ฟเวอร์ CentOS 7 ที่ฉันจะเชื่อมต่อกับ Debian 10
  • 192.168.56.108 – (tecmint) – ระบบ Debian 10 ของฉันที่มีการเข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่าน

ในบทความนี้ เราจะแสดงวิธีการติดตั้งการตั้งค่าเซิร์ฟเวอร์ OpenSSH การเข้าสู่ระบบ SSH โดยไม่ต้องใช้รหัสผ่านบนระบบปฏิบัติการ Debian 10 Linux

การติดตั้งเซิร์ฟเวอร์ OpenSSH บน Debian 10

ก่อนที่คุณจะสามารถกำหนดค่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH บนระบบ Debian 10 ได้ คุณจะต้องติดตั้งและกำหนดค่าแพ็คเกจเซิร์ฟเวอร์ OpenSSH บนระบบโดยใช้คำสั่งต่อไปนี้


sudo apt-get update
sudo apt-get install openssh-server

ต่อไป ให้เริ่มบริการ sshd ทันที จากนั้นตรวจสอบว่าบริการนั้นเปิดใช้งานอยู่หรือไม่โดยใช้คำสั่ง systemctl ดังต่อไปนี้


sudo systemctl start sshd
sudo systemctl status sshd

จากนั้นเปิดใช้บริการ sshd เพื่อเริ่มต้นโดยอัตโนมัติเมื่อบูตระบบ ทุกครั้งที่ระบบรีบูตดังนี้


sudo systemctl start sshd

ตรวจสอบบริการ sshd ซึ่งตามค่าเริ่มต้นจะรับฟังบนพอร์ต 22 โดยใช้ คำสั่ง ss ดังที่แสดง หากคุณต้องการคุณสามารถเปลี่ยนพอร์ต SSH ดังที่แสดง: วิธีเปลี่ยนพอร์ต SSH ใน Linux


sudo ss -tlpn

การตั้งค่าคีย์ SSH บน CentOS 7 (192.168.56.100)

ขั้นแรก คุณต้องสร้างคู่คีย์ SSH (คีย์สาธารณะและคีย์ส่วนตัว) บนระบบ CentOS 7 จากที่ที่คุณจะเชื่อมต่อกับเซิร์ฟเวอร์ Debian 10 โดยใช้ ยูทิลิตี้ ssh-keygen ดังต่อไปนี้


ssh-keygen  

จากนั้นป้อนชื่อที่มีความหมายสำหรับไฟล์หรือปล่อยให้เป็นค่าเริ่มต้น (ซึ่งควรเป็นเส้นทางแบบเต็มตามที่แสดงในภาพหน้าจอ มิฉะนั้นไฟล์จะถูกสร้างขึ้นในไดเร็กทอรีปัจจุบัน) เมื่อระบบถามถึงรหัสผ่าน เพียงกด “enter ” และปล่อยรหัสผ่านว่างไว้ โดยปกติไฟล์คีย์จะถูกจัดเก็บไว้ในไดเร็กทอรี ~/.ssh ตามค่าเริ่มต้น

การคัดลอกคีย์สาธารณะไปยังเซิร์ฟเวอร์ Debian 10 (192.168.56.108)

หลังจากสร้างคู่คีย์แล้ว คุณต้องคัดลอกคีย์สาธารณะไปยังเซิร์ฟเวอร์ Debian 10 คุณสามารถใช้ยูทิลิตี ssh-copy-id ดังที่แสดง (คุณจะถูกถามรหัสผ่านสำหรับผู้ใช้ที่ระบุบนเซิร์ฟเวอร์)


ssh-copy-id -i ~/.ssh/debian10 [email 

คำสั่งข้างต้นจะล็อกอินเข้าสู่เซิร์ฟเวอร์ Debian 10 และคัดลอกคีย์ไปยังเซิร์ฟเวอร์ และกำหนดค่าให้อนุญาตการเข้าถึงโดยการเพิ่มลงในไฟล์ authorization_keys

ทดสอบการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH จาก 192.168.20.100

เมื่อคัดลอกคีย์ไปยังเซิร์ฟเวอร์ Debian 10 แล้ว คุณต้องทดสอบว่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH ทำงานหรือไม่ โดยเรียกใช้คำสั่ง SSH ต่อไปนี้ ตอนนี้การเข้าสู่ระบบควรเสร็จสิ้นโดยไม่ต้องขอรหัสผ่าน แต่หากคุณสร้างข้อความรหัสผ่าน คุณจะต้องป้อนก่อนจึงจะได้รับอนุญาตให้เข้าถึงได้


ssh -i ~/.ssh/debian10 [email 

ในคู่มือนี้ เราได้แสดงวิธีการติดตั้งเซิร์ฟเวอร์ OpenSSH ด้วยการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH หรือการตรวจสอบสิทธิ์โดยใช้คีย์ (หรือการตรวจสอบสิทธิ์คีย์สาธารณะ) ใน Debian 10 หากคุณต้องการถามคำถามที่เกี่ยวข้องกับหัวข้อนี้หรือแบ่งปันแนวคิดใดๆ ให้ใช้แบบฟอร์มคำติชมด้านล่าง