Post Views:
787
การใช้งาน SSH แบบไม่ต้องใช้ Password ทำให้สะดวกในการเข้าใช้งานเครื่อง server และทำให้เครื่อง server สองเครื่องส่งข้อมูลให้กันโดยไม่ถามรหัสผ่าน เวลาทำการสำรองข้อมูล
เครื่อง client1
1. สร้าง keypair
โดยใช้คำสั่ง
$ ssh-keygen -t rsa
output
Generating public/private rsa key pair.
Enter file in which to save the key (/home/client1/.ssh/id_rsa): <<Enter
Created directory ‘/home/client1/.ssh’.
Enter passphrase (empty for no passphrase): <<Enter
Enter same passphrase again:
Your identification has been saved in /home/client1/.ssh/id_rsa.
Your public key has been saved in /home/client1/.ssh/id_rsa.pub.
เสร็จแล้วจะได้ไฟล์มา 2 ไฟล์ คือ
1. id_rsa เก็บ private key
2. id_rsa.pub เก็บ public key
2. เอาไฟล์ id_rsa.pub ไปวางไว้ที่ฝั่ง server โดยเอาไปใส่ใน Home Directory ของ User ที่เราจะเข้า ssh โดยไม่ต้องใส่ password
ตัวอย่างการนำไฟล์ id_rsa.pub ไปวางใว้ใน path ของเครื่อง server โดยใช้ user1@server
/home/user1/.ssh/authorized_keys ซึ่งเป็นไฟล์สำหรับเก็บรายการของ key ที่ใช้ authentication ของเครื่อง server
โดยใช้คำสั่ง
$scp /home/client1/.ssh/id_rsa.pub user1@server:/home/user1/.ssh/authorized_keys
user1@server password: << Enter password user1
output
rsa.pub 100% 394KB 2.1MB/s 00:00
ทดสอบการใช้งานโดยคำสั่งจากเครื่อง client
$ssh user1@server
จะใช้งานได้โดยไม่ต้องใส่ password
***หมายเหตุ วิธีนี้จะใช้ได้เฉพาะสิทธ์ของ client1@client เท่านั้น
ถ้าต้องการให้ user อื่นเข้าใช้งานด้วย ให้ copy file id_rsa ไปใว้ใน ~/.ssh/ ของ Home Directory ของ user ที่ต้องการ
ตัวอย่าง เช่น ต้องการให้เครื่อง client2 ใช้งาน ssh โดยไม่ต้องใส่ password
ให้ทำการ Copy file id_rsa จากเครื่อง client ที่ได้จาก ข้อ1
ไปไว้ที่ ~/.ssh/ ของ Home Directory ของ user ในเครื่อง client2
เครื่อง client1
คำสั่ง
$cat /home/client1/.ssh/id_rsa | ssh user_client2@client2 “cat >> /home/user_client2/.ssh/id_rsa”
The authenticity of host client2 (client2)’ can’t be established.
RSA key fingerprint is e6:04:2f:7c:67:62:b9:fb:a5:83:64:2f:69:e4:1a:54.
Are you sure you want to continue connecting (yes/no)? yes หากเข้ามาครั้งแรกก็ให้ตอบ yes
Warning: Permanently added ‘ client2’ (RSA) to the list of known hosts.
user_client2@client2’s password: Enter password user1
ทดสอบการใช้งานโดยคำสั่ง จากเครื่อง client2
$ssh user1@server
จะใช้งานได้โดยไม่ต้องใส่ password
การใช้งาน SSH แบบไม่ต้องใช้ Password ทำให้สะดวกในการเข้าใช้งานเครื่อง server และทำให้เครื่อง server สองเครื่องส่งข้อมูลให้กันโดยไม่ถามรหัสผ่าน เวลาทำการสำรองข้อมูล
เครื่อง client1
1. สร้าง keypair
โดยใช้คำสั่ง
$ ssh-keygen -t rsa
output
Generating public/private rsa key pair.
Enter file in which to save the key (/home/client1/.ssh/id_rsa): <<Enter
Created directory ‘/home/client1/.ssh’.
Enter passphrase (empty for no passphrase): <<Enter
Enter same passphrase again:
Your identification has been saved in /home/client1/.ssh/id_rsa.
Your public key has been saved in /home/client1/.ssh/id_rsa.pub.
เสร็จแล้วจะได้ไฟล์มา 2 ไฟล์ คือ
1. id_rsa เก็บ private key
2. id_rsa.pub เก็บ public key
2. เอาไฟล์ id_rsa.pub ไปวางไว้ที่ฝั่ง server โดยเอาไปใส่ใน Home Directory ของ User ที่เราจะเข้า ssh โดยไม่ต้องใส่ password
ตัวอย่างการนำไฟล์ id_rsa.pub ไปวางใว้ใน path ของเครื่อง server โดยใช้ user1@server
/home/user1/.ssh/authorized_keys ซึ่งเป็นไฟล์สำหรับเก็บรายการของ key ที่ใช้ authentication ของเครื่อง server
โดยใช้คำสั่ง
$scp /home/client1/.ssh/id_rsa.pub user1@server:/home/user1/.ssh/authorized_keys
user1@server password: << Enter password user1
output
rsa.pub 100% 394KB 2.1MB/s 00:00
ทดสอบการใช้งานโดยคำสั่งจากเครื่อง client
$ssh user1@server
จะใช้งานได้โดยไม่ต้องใส่ password
***หมายเหตุ วิธีนี้จะใช้ได้เฉพาะสิทธ์ของ client1@client เท่านั้น
ถ้าต้องการให้ user อื่นเข้าใช้งานด้วย ให้ copy file id_rsa ไปใว้ใน ~/.ssh/ ของ Home Directory ของ user ที่ต้องการ
ตัวอย่าง เช่น ต้องการให้เครื่อง client2 ใช้งาน ssh โดยไม่ต้องใส่ password
ให้ทำการ Copy file id_rsa จากเครื่อง client ที่ได้จาก ข้อ1
ไปไว้ที่ ~/.ssh/ ของ Home Directory ของ user ในเครื่อง client2
เครื่อง client1
คำสั่ง
$cat /home/client1/.ssh/id_rsa | ssh user_client2@client2 “cat >> /home/user_client2/.ssh/id_rsa”
The authenticity of host client2 (client2)’ can’t be established.
RSA key fingerprint is e6:04:2f:7c:67:62:b9:fb:a5:83:64:2f:69:e4:1a:54.
Are you sure you want to continue connecting (yes/no)? yes หากเข้ามาครั้งแรกก็ให้ตอบ yes
Warning: Permanently added ‘ client2’ (RSA) to the list of known hosts.
user_client2@client2’s password: Enter password user1
ทดสอบการใช้งานโดยคำสั่ง จากเครื่อง client2
$ssh user1@server
จะใช้งานได้โดยไม่ต้องใส่ password
Nattakon Mingkaew
More Posts
Nattakon Mingkaew