วันจันทร์ที่ 20 ตุลาคม พ.ศ. 2557

OSX : ssh to remote host without password required and auto mount when login

Standard
     หลังจากที่ทำ network drive ผ่านทาง ssh ด้วย macfuse และ sshfs  มีความต้องการให้ mount drive อัตโนมัติหลังจากที่ login ซึ่งจะต้องทำ 2 อย่างคือ

  1. การสร้าง authorized keys จาก OSX แล้วไปเก็บใน remote server เพื่อเวลาที่จะ connect ไปแล้วไม่ต้องการให้ remote server ถามรหัสผ่าน
  2. script สำหรับตรวจสอบว่า OSX สามารถเชื่อมต่อกับ remote server ได้ และ mount drive



การสร้าง authorized keys
[ที่ local host]
     เปิด Terminal ที่เครื่อง OSX แล้วใส่คำสั่งเพื่อ gen key ของ ssh ฝั่ง OSX 
$cd ~/.ssh
$ssh-keygen -b 1024 -t rsa -f id_rsa -P ""
     หลังจากใส่คำสั่ง gen key  จะมีไฟล์ชื่อ id_rsa และ id_rsa.pub เกิดขึ้นมา

[ที่ remote host]
     ไปที่ ~/.ssh สร้างไฟล์ชื่อ authorized_keys
$cd ~/.ssh
$touch  authorized_keys
     จากนั้น copy key จากไฟล์  id_rsa.pub บนเครื่อง OSX (local) ที่ทำก่อนหน้านี้มาใส่ในไฟล์ authorized_keys

ssh ไม่ถามรหัสตอน login


สร้าง script สำหรับ login กัน

     script นี้คือจะลอง ping ดูก่อนว่าสามารถ ping remote host ได้หรือไม่ และถ้า ping ได้ก็ให้ mount drive ทันที



     หลังจากสร้าง script (อย่าลืม chmod 755 script) เสร็จแล้ว เปิด System Preferences > User & Groups > USER > Login Items แล้วเพิ่ม  script โดยการกดเครื่องหมาย  +


     ลอง restart เครื่องแล้ว login ดูครับ ถ้าไม่มีอะไรผิดพลาด OSX จะ mount drive ให้อัตโนมัติ



Ref :
http://coolestguidesontheplanet.com/make-passwordless-ssh-connection-osx-10-9-mavericks-linux/
http://www.yourownlinux.com/2013/10/bash-script-to-check-whether-a-host-is-up-or-down.html


0 ความคิดเห็น:

แสดงความคิดเห็น