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

วิธีการตั้งค่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน 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 ฉันคาดหวังว่ากระบวนการนี้ตรงไปตรงมา หากคุณมีคำถามใด ๆ โปรดโพสต์ไว้ในส่วนความคิดเห็นด้านล่าง