Mount remote drives using sshfs


Để có thể mount ổ cứng hoặc thư mục của máy khác vào máy tính của mình ta làm như thế nào? Ta có thể dùng samba, nhưng samba thì phải cấu hình server phức tạp, một cách đơn giản hơn ta dùng SSHFS (SSH File System). Đầu tiên ta sẽ cài sshfs.

sudo pacman -S sshfs fuse

Ở đây ta mount ở cứng của máy ubuntu server (192.168.1.11) vào máy hiện tại là arch linux. Đầu tiên ta tạo mount point trên arch linux.

sudo mkdir /mnt/hdd_1t

Ta mở file '/etc/fstab' của arch linux và thêm các dòng sau.

ubuntu-dt@192.168.1.11:/media/ubuntu-dt/HDD_1T /mnt/hdd_1t  fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/dt/.ssh/id_rsa,allow_other,reconnect 0 0

ubuntu-dt là username của máy ubuntu (máy có gắn ổ cứng tên là HDD_1T). IP của máy ubuntu là 192.168.1.11. Ổ cứng này sẽ được mount vào '/mnt/hdd_1t'. 'home/dt/.ssh/id_rsa' là private key của máy arch linux, nhờ private key này mà ta không cần nhập password. Nếu chưa tạo ssh key ta xem lại bài viết 'SSH without password' để biết cách tạo private key và public key.

Sau khi lưu và thoát ra khỏi '/etc/fstab'. Ta restart bằng các câu lệnh sau.

systemctl daemon-reload
~/Desktop]$ systemctl list-unit-files --type automount
UNIT FILE                         STATE     VEND>
mnt-hdd_1t.automount              generated -   >
proc-sys-fs-binfmt_misc.automount static    -   >

4 unit files listed.
lines 1-7/7 (END)

Ta thấy 'mnt-hdd_1t.automount', ta restart bằng câu lệnh sau.

[~/Desktop]$ systemctl restart mnt-hdd_1t.mount
[~/Desktop]$ 

Như vậy là xong ta đã mount được ở cứng 1T của máy ubuntu vào máy arch linux. Ta có thể cd vào để xem thử nhé.

cd /mnt/hdd_1t

Dễ hơn dùng samba phải không nào ? ^_^