เราสามารถรีโมทไปที่ 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
- อัพเดทข้อมูลแพ็คเกจ
apt-get update
- ติดตั้ง openssh-server
apt-get install openssh-server
(ถ้ายังไม่ได้ติดตั้ง) - สร้าง 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
4.แก้ไขไฟล์ /etc/ssh/sshd_config
PermitRootLogin yes
ถ้าต้องการให้ root ล็อกอินได้ (ssh root@xxx.xxx.xxx)
PubkeyAuthentication yes
PasswordAuthentication yes
5.รีสตาร์ท ssh systemctl restart sshd
รันคำสั่งต่อไปนี้บน client
- อัพเดทข้อมูลแพ็คเกจ
apt-get update
- ติดตั้ง openssh-server
apt-get install openssh-server
(ถ้ายังไม่ได้ติดตั้ง) - สร้าง ssh key
ssh-keygen
(ถ้ายังไม่มี) - คัดลอก 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
ครั้งแรกระบบจะถาม password ของ server ครั้งต่อไปจะไม่ถาม password อีก
5.ล็อกเอ้าท์และล็อกอินเข้าไปใหม่ ssh username@xxx.xxx.xxx
จะเห็นว่าไม่ถาม password
เพียงเท่านี้เราก็สามารถรีโมท server โดยไม่ต้องใช้ password ได้แล้ว