SSH รีโมทเข้า Server โดยไม่ใช้รหัสผ่านบน Mac OS X

ปกติเราจะ SSH รีโมทเข้า Server โดยต้องระบุ User และ Password ซึ่งบางครั้งอาจจะไม่สะดวกมากนักถ้าต้องกรอก Password บ่อยๆ

วิธีที่เราจะข้ามขั้นตอนตามด้านบนคือ การใช้ SSH Key ในการเข้าระบบ วิธีการมีดังนี้

ตรวจสอบและสร้าง SSH Key

เริ่มต้นลองตรวจสอบดูก่อนว่าในเครื่อง Mac เราว่าสร้าง SSH Key แล้วหรือยัง ถ้ามีจะแสดงข้อมูลออกมา

cat ~/.ssh/id_rsa.pub

แต่ถ้ายังไม่มีให้สร้าง SSH Key โดยใช้คำสั่ง

ssh-keygen -t rsa

ถ้าเราเข้าไปดูใน ~/.ssh/ จะมีไฟล์ id_rsa (prevate key ห้ามให้ใครเด็ดขาด) และ  id_rsa.pub (public key ไว้ใช้งาน) ถ้าลองตรวจสอบตามด้านบนอีกครั้งจะมี Key  ในไฟล์ id_rsa.pub เรียบร้อยแล้ว

เพิ่ม Key เข้า Server

โดยเราจะเพิ่ม Key ที่เราสร้างเข้าไปที่ Server ด้วยคำสั่ง ssh-copy-id

ssh-copy-id -i [path to rsa file] user@machine

ตัวอย่าง

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

ทีนี้ลองทดสอบโดยรีโมทเข้า Server ดู จะสังเกตว่าไม่ต้องกรอกรหัสผ่าน (Password) อีกแล้ว ^^

ถ้าใช้คำสั่งแล้วขึ้น “ssh-copy-id: command not found” !

ให้ติดตั้ง ssh-copy-id ตามคำสั่งด้านล่างนี้ก่อน

ติดตั้งผ่าน Homebrew

brew install ssh-copy-id

หรือ Curl

sudo curl https://raw.github.com/beautifulcode/ssh-copy-id-for-OSX/master/ssh-copy-id.sh -o /usr/local/bin/ssh-copy-id
sudo chmod +x /usr/local/bin/ssh-copy-id