วิธีการตั้งค่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH ใน Linux
SSH (Secure SHELL) เป็นโปรโตคอลเครือข่ายโอเพ่นซอร์สและเชื่อถือได้ ซึ่งใช้ในการเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกลเพื่อดำเนินการคำสั่งและโปรแกรม
นอกจากนี้ยังใช้ในการถ่ายโอนไฟล์จากคอมพิวเตอร์เครื่องหนึ่งไปยังคอมพิวเตอร์อีกเครื่องหนึ่งผ่านเครือข่ายโดยใช้คำสั่งสำเนาที่ปลอดภัย (SCP) และคำสั่ง rsync
ในบทความนี้ เราจะแสดงวิธีตั้งค่าการเข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่านบน Linux ที่ใช้ RHEL เช่น CentOS, Fedora, Rocky Linux & AlmaLinux และการกระจายตาม Debian เช่น Ubuntu & Mint โดยใช้ คีย์ ssh เพื่อเชื่อมต่อกับระยะไกล < เซิร์ฟเวอร์Linux โดยไม่ต้องป้อนรหัสผ่าน
การใช้การเข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่านด้วย คีย์ SSH จะช่วยเพิ่มความน่าเชื่อถือระหว่างเซิร์ฟเวอร์ Linux สองเครื่องเพื่อการซิงโครไนซ์หรือถ่ายโอนไฟล์ที่ง่ายดาย
สภาพแวดล้อมการตั้งค่าของฉัน
SSH Client : 192.168.0.12 ( Fedora 36 )
SSH Remote Host : 192.168.0.11 ( CentOS 8 )
หากคุณกำลังติดต่อกับเซิร์ฟเวอร์ระยะไกล Linux หลายเครื่อง การเข้าสู่ระบบด้วย SSH แบบไม่ใช้รหัสผ่าน เป็นหนึ่งในวิธีที่ดีที่สุดในการทำงานอัตโนมัติ เช่น การสำรองข้อมูลอัตโนมัติด้วยสคริปต์ ไฟล์การซิงโครไนซ์โดยใช้ คำสั่ง SCP และการดำเนินการคำสั่งระยะไกล
ในตัวอย่างนี้ เราจะตั้งค่าการเข้าสู่ระบบอัตโนมัติ ไม่ใช้รหัสผ่าน SSH จากเซิร์ฟเวอร์ 192.168.0.12 ในฐานะผู้ใช้ tecmint เป็น 192.168.0.11 กับผู้ใช้ sheena
ขั้นตอนที่ 1: สร้างคีย์การรับรองความถูกต้อง SSH-Keygen บน – (192.168.0.12)
ขั้นแรกให้ล็อกอินเข้าสู่เซิร์ฟเวอร์ 192.168.0.12 ด้วยผู้ใช้ tecmint และสร้างคีย์สาธารณะคู่หนึ่งโดยใช้คำสั่งต่อไปนี้
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key]
Created directory '/home/tecmint/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/tecmint/.ssh/id_rsa.
Your public key has been saved in /home/tecmint/.ssh/id_rsa.pub.
The key fingerprint is:
5f:ad:40:00:8a:d1:9b:99:b3:b0:f8:08:99:c3:ed:d3 [email
The key's randomart image is:
+--[ RSA 2048]----+
| ..oooE.++|
| o. o.o |
| .. . |
| o . . o|
| S . . + |
| . . . o|
| . o o ..|
| + + |
| +. |
+-----------------+
ขั้นตอนที่ 2: อัปโหลดคีย์ SSH ไปที่ – 192.168.0.11
ใช้ SSH จากเซิร์ฟเวอร์ 192.168.0.12 และอัปโหลดคีย์สาธารณะที่สร้างขึ้นใหม่ (id_rsa.pub) บนเซิร์ฟเวอร์ 192.168.0.11 ภายใต้ .ssh ของ "color: blue;">sheena เป็นชื่อไฟล์ authorized_keys
ssh-copy-id [email
ตรวจสอบให้แน่ใจว่าได้ตั้งค่าการอนุญาตที่ถูกต้องบนไดเร็กทอรี ~/.ssh และไฟล์ ~/.ssh/authorized_keys บนเซิร์ฟเวอร์ระยะไกล
ssh [email "chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
ขั้นตอนที่ 3: ปิดใช้งานการรับรองความถูกต้องของรหัสผ่าน (ไม่บังคับ)
เพื่อความปลอดภัยที่เพิ่มขึ้น คุณสามารถปิดใช้งานการตรวจสอบสิทธิ์ด้วยรหัสผ่านบนเซิร์ฟเวอร์ระยะไกลและอนุญาตเฉพาะการตรวจสอบสิทธิ์คีย์ SSH เท่านั้น ในการดำเนินการนี้ ให้เปิดไฟล์การกำหนดค่าเซิร์ฟเวอร์ SSH บนเซิร์ฟเวอร์ระยะไกล:
sudo nano /etc/ssh/sshd_config
OR
sudo vi /etc/ssh/sshd_config
ค้นหาบรรทัดที่มี PasswordAuthentication และตั้งค่าเป็น no
PasswordAuthentication no
บันทึกไฟล์และเริ่มบริการ SSH ใหม่
sudo systemctl restart sshd
ขั้นตอนที่ 4: ทดสอบการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH จาก 192.168.0.12
จากนี้ไป คุณสามารถเข้าสู่ระบบ 192.168.0.11 ในฐานะผู้ใช้ sheena จากเซิร์ฟเวอร์ 192.168.0.12 ในฐานะ ผู้ใช้ tecmint โดยไม่ต้องใช้รหัสผ่าน
ssh [email
ในบทความนี้ คุณได้เรียนรู้วิธีตั้งค่าการเข้าสู่ระบบ SSH โดยไม่ต้องใช้รหัสผ่านโดยใช้คีย์ ssh ฉันคาดหวังว่ากระบวนการนี้ตรงไปตรงมา หากคุณมีคำถามใด ๆ โปรดโพสต์ไว้ในส่วนความคิดเห็นด้านล่าง