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