sftp in gnome-vfs

แวะเยี่ยม blog พี่เทพ bact’ และ mk เหมือนทุกวัน .. พี่เทพพูดถึง FOSS และกลุ่มคนใน FOSS ที่มีหลากหลายแนวคิดและความต้องการ ทำให้คิดๆ เหมือนกันว่าผมอยู่กลุ่มไหนกันแน่หว่า :P .. บางทีคำถามง่ายๆ แบบนี้กลับหาคำตอบได้ยากเหมือนไม่รู้จักตัวเองซะอย่างนั้นล่ะ

อัปเดตห้องทดลองแล้วครับ เพิ่มเรื่องการแม็พ เน็ตเวิร์กไดรว์ผ่าน sftp บน GNOME 2.6 (หาวิธีตั้งนาน :P)

เน็ตเวิร์ก KKU ? AIT มีอาการอืดๆ มาตั้งแต่เมื่อคืน ดูท่าจะเป็นที่ขาเข้าของ AIT เอง .. จาก 200 KB/s ดร็อปลงมาเหลือ 40 KB/s .. เซ็งบรม

วันนี้วันเกิดเสี่ยต้นนี่หว่า … มาเลี้ยงข้าวซะดีๆ :P

เน็ตเวิร์กไดรว์ ผ่าน sftp บน GNOME 2.6

บน GNOME เวอร์ชันก่อนๆ เราสามารถแม็ปเน็ตเวิร์กไดรว์ผ่านทาง smb หรือ ftp ส่วนใน GNOME 2.6 นอกจาก smb และ ftp แล้ว Gnome-VFS ยัง สนับสนุน sftp และ WebDAV ด้วย ทำให้เราสามารถแม็ปเน็ตเวิร์กไดรว์ผ่านโพรโตคอลเหล่านี้ได้ วิธีการคือดับเบิลคลิก “Computer” เลือกเมนู “File ? Connect to server … ” จะปรากฏไดอะล็อกกรอกข้อมูลสร้างเน็ตเวิร์กไดรว์

Link name: ชื่อลิงก์

Location (URL): กรอก sftp://[email protected]/path/to/dir/

เช่น

กด connect เป็นอันเสร็จขั้นตอนการแม็ปเน็ตเวิร์กไดรว์ ซึ่งจะมีไอคอนของเน็ตเวิร์กไดรว์ปรากฏในไดอะล็อกคอมพิวเตอร์ และบนเดสก์ท็อป การใช้งานก็เหมือนระบบไฟล์ปกติ ซึ่ง drag & drop ได้ ทำให้อัปโหลด/ดาวน์โหลดไฟล์ผ่าน sftp ได้สะดวกขึ้นมาก

โน้ต

  • วิธีนี้ใช้ได้กับทุกโพรโทคอลที่ gnome-vfs สนับสนุน (e.g., ftp://… smb://… )
  • gnome-vfs ไม่สามารถ accept host key ได้ หากไม่เคยเชื่อมต่อเครื่องปลายทางมาก่อนเลย ให้ใช้ ssh/sftp/scp บนคอมมานด์ไลน์ในการเชื่อมต่อครั้งแรกเพื่อ establish host key จากนั้นจึงใช้การเชื่อมผ่านทาง gnome-vfs
  • หากจำเป็น gnome-vfs จะถามรหัสผ่านในการเชื่อมต่อ เราสามารถเลือกให้บันทึกรหัสผ่านเก็บใน gnome-keyring ได้ และเลือกได้ว่าให้จำรหัสผ่านไปตลอด หรือเฉพาะ session นั้นๆ
  • ถ้าใช้เครื่องส่วนตัว ลองพิจารณาใช้ public-key authentication สำหรับ ssh ซึ่งสะดวกและปลอดภัยกว่าการใช้รหัสผ่าน วิธีการคือ

สร้าง public key pair เช่นสร้าง RSA key pair ขนาด 1024 บิต จะสั่งงานเป็น

$ ssh-keygen -t rsa -b 1024

จากนั้นทำตามขั้นตอนการสร้าง key pair เสร็จเรียบร้อยแล้วจะได้ไฟล์ id_rsa และ id_rsa.pub (หรือ id_dsa/id_dsa.pub กรณีสร้าง DSA key pair) เก็บไว้ใน ~/.ssh/

จากนั้นทำยังไงก็ได้ให้ข้อมูลใน id_rsa.pub (หรือ id_dsa.pub) ไปต่อท้ายไฟล์ ~/.ssh/authorized_keys ในเครื่องปลายทาง เช่น

scp id_rsa.pub [email protected]:
ssh [email protected]
password:
user@remote $ cat id_rsa.pub >> ~/.ssh/authorized_keys
user@remote $ rm id_rsa.pub

เสร็จแล้ว ลอง ssh [email protected] หากตามขั้นตอนถูกต้อง และ sshd ที่เครื่องปลายทางเปิดให้ใช้ public key authentication จะสามารถล็อกอินเครื่องปลายทายได้โดยไม่ต้องกรอกรหัสผ่าน Gnome-VFS ก็จะไม่ถามรหัสผ่านเช่นกัน

คำเตือน: key pair เป็นข้อมูลสำคัญมาก โดยเฉพาะ id_rsa/id_dsa ซึ่งเป็น private key ระวังอย่าให้ตกไปอยู่ในมือผู้อื่นเป็นอันขาด (เป็นเหตุผลว่าทำไมถึงควรใช้ public key authentication เฉพาะเครื่องส่วนตัวเท่านั้น)