Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Mount phân vùng Linux thông qua ssh
Vấn đề
Mình có máy chủ Linux chuyên để chạy và biên dịch các phần mềm mã nguồn mở. Gần đây mình hay phải chỉnh sửa và biên dịch các dự án Java. Làm việc với các dự án Java thì không IDE nào tốt hơn Idea của JetBrain, tuy vậy để chỉnh sửa file từ xa thì bạn phải bỏ tiền để mua bản Ultimate. Mình không có nhiều $$ và lại muốn chỉnh sửa file trên máy chủ trực tiếp luôn nên mình đã thử Google xem có cách nào khác không. May mắn thay cộng đồng nguồn mở đã có giải pháp cho vấn đề này.
SSHFS giải pháp cho vấn đề
Google thử thấy có giải pháp dùng sshfs với trình tự cài đặt được mô tả rất chi tiết tại một bài viết trên DigitalOcean. Cụ thể là ta sẽ cài sshfs vào máy chủ và máy trạm (trường hợp của mình là MacOS) rồi mount phân vùng của máy chủ lên máy trạm. Như vậy mỗi lần mình chỉnh sửa file trên phân vùng MacOS, file sẽ tự động được cập nhật và gửi lên máy chủ thông qua ssh tunnel. Rất tiện!
Cách cài đặt
Cách cài đặt rất đơn giản, và có thể thực hiện theo 2 bước như sau:
Bước 1: Cài sshfs vào máy trạm
Với Ubuntu, câu lệnh cài đặt đơn giản là
$ sudo apt install sshfs
Với MacOS bạn cần cài đặt OSXFuse rồi mới cài đặt được sshfs
. Quá trình cài đặt cũng không hề phức tạp với homebrew
$ brew install Caskroom/cask/osxfuse
$ brew install sshfs
Bước 2: Mount phân vùng Linux qua sshfs
Mount phân vùng của linux qua sshfs. Bước này thực hiện đơn giản với 1 cậu lệnh như sau:
$ sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa user_name@machine_name:/home/user_name/projects ~/workspace/projects
Ở đây nếu bạn login máy chủ dùng PrivateKey, bạn chỉ định đường dẫn file privatekey bằng IdentityFile
. Nếu bạn login bằng password, bạn có thể bỏ IdentityFile
.
Sau câu lệnh trên bạn có thể chỉnh sửa file ở máy chủ dưới đường dẫn ~/workspace/projects
như thể là file bạn đang chỉnh sửa nằm ở máy trạm.
Đối với hệ điều hành windows, bạn có thể tham khảo các bước cài đặt tại bài viết gốc.
Khi bạn khởi động lại máy trạm, các cài đặt trên sẽ biến mất và bạn lại mount lại. Để lệnh mount được chạy khi OS khởi động, bạn có thể thêm câu lệnh mount trên vào /etc/fstab
.
Kết luận
Sử dụng sshfs
bạn có thể mount một phân vùng trên máy chủ thông qua ssh tunnel một cách đơn giản và dễ dàng.
Ngoài cách làm này, ta có cách làm khác như sử dụng Samba.




