DEV Community

Anuchit Prasertsang
Anuchit Prasertsang

Posted on

เปิดการใช้งาน ซีเคียวเชล (Secure Shell หรือ SSH) รีโมท linux server โดยไม่ต้องใช้ password

เราสามารถรีโมทไปที่ server โดยใช้ ssh ได้ โดยไม่ต้องใช้ password โดยการใช้ ssh key แทน ซึ่งเราสามารถสร้าง ssh key ได้ด้วยคำสั่ง ssh-keygen และสามารถ copy ssh key ไปที่ server ได้ด้วยคำสั่ง ssh-copy-id username@xxx.xxx.xxx.xxx และเราสามารถ config ssh ได้ด้วยการแก้ไขไฟล์ /etc/ssh/sshd_config และ restart ssh ด้วยคำสั่ง systemctl restart sshd

ขั้นตอนที่ต้องทำคือ

รันคำสั่งต่อไปนี้บน server

  1. อัพเดทข้อมูลแพ็คเกจ apt-get update
  2. ติดตั้ง openssh-server apt-get install openssh-server (ถ้ายังไม่ได้ติดตั้ง)
  3. สร้าง ssh key ssh-keygen (ถ้ายังไม่มี)
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
Enter fullscreen mode Exit fullscreen mode

4.แก้ไขไฟล์ /etc/ssh/sshd_config
PermitRootLogin yes ถ้าต้องการให้ root ล็อกอินได้ (ssh root@xxx.xxx.xxx)
PubkeyAuthentication yes
PasswordAuthentication yes

5.รีสตาร์ท ssh systemctl restart sshd

รันคำสั่งต่อไปนี้บน client

  1. อัพเดทข้อมูลแพ็คเกจ apt-get update
  2. ติดตั้ง openssh-server apt-get install openssh-server (ถ้ายังไม่ได้ติดตั้ง)
  3. สร้าง ssh key ssh-keygen (ถ้ายังไม่มี)
  4. คัดลอก ssh key ไปที่ server ~/.ssh/authroized_keys โดยใช้คำสั่ง ssh-copy-id username@xxx.xxx.xxx
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Enter fullscreen mode Exit fullscreen mode

ครั้งแรกระบบจะถาม password ของ server ครั้งต่อไปจะไม่ถาม password อีก

5.ล็อกเอ้าท์และล็อกอินเข้าไปใหม่ ssh username@xxx.xxx.xxx จะเห็นว่าไม่ถาม password

เพียงเท่านี้เราก็สามารถรีโมท server โดยไม่ต้องใช้ password ได้แล้ว

Top comments (0)