SSH public key login ใน Ubuntu
posted on 05 Mar 2009 11:24 by pongtawat in linux-unixวิธีการ setup login SSH ด้วย public key
- เตรียม key
client$ ssh-keygen
แล้วตั้ง password ให้ key (เค้าบอกให้ยาว 20 ตัวขึ้นไปแน่ะ!)
โดย default แล้ว ssh ใน Ubuntu จะสร้าง RSA key ใน .ssh/id_rsa (private) และ .ssh/id_rsa.pub (public) - เอา public key ไปไว้ที่ server
client$ scp .ssh/id_rsa.pub server:.ssh/
- สร้าง authorization file ที่ server โดยสั่ง
server$ cat .ssh/id_rsa.pub > .ssh/authorized_keys
- ตั้ง permission ให้ authorization file
server$ chmod go= .ssh/authorized_keys
(ถ้ามี permission ที่เปิดเกินไป เช่นให้คนอื่นอ่านได้ sshd จะไม่ยอมรับไฟล์นี้) - ลบไฟล์ id_rsa.pub ที่ server ทิ้ง กันงง
server$ rm .ssh/id_rsa.pub - ตั้งให้ sshd ที่ server รับ authorized_keys โดยแก้ /etc/ssh/sshd_config โดยดูว่าต้องมี 2 บรรทัดนี้ (ที่ไมโดน comment)
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys - restart sshd ที่ server (/etc/init.d/sshd restart) ตรงนี้ต้องระวังด้วย เพราะถ้าเรา login อยู่ด้วย ssh, ตัว sshd มันอาจจะไม่ยอม restart ต้อง logout ให้หมดก่อน (ระวังถ้าสั่ง stop จะเข้าไปอีกไม่ได้นะ)
แค่นี้เป็นอันเสร็จ ต่อไปนี้เวลา login ก็ไม่ต้องพิมพ์ password บ่อยๆ แล้ว (ยังต้องพิมพ์ private key password อยู่ แต่พิมพ์แค่ครั้งเดียว)

#1 By PItBvIlcuuFhSbwKNj (88.198.54.120) on 2009-06-03 11:23