SSHFS (SSH Filesystem) adalah filesystem client berdasarkan FUSE untuk memasang direktori jarak jauh melalui koneksi SSH. SSHFS menggunakan protokol SFTP, yang merupakan subsistem dari SSH dan diaktifkan secara default di sebagian besar SSH server.

Jika dibandingkan dengan protokol sistem file jaringan lainnya seperti NFS dan Samba, keunggulan SSHFS adalah tidak memerlukan konfigurasi tambahan di sisi server. Untuk menggunakan SSHFS, Anda hanya perlu akses SSH ke server jarak jauh.

Karena SSHFS menggunakan SFTP, semua data yang dikirimkan antara server dan klien harus dienkripsi dan didekripsi. Hasil ini dengan kinerja yang sedikit menurun dibandingkan dengan NFS, dan penggunaan CPU yang lebih tinggi pada klien dan server.

Tutorial ini akan menunjukkan kepada Anda bagaimana menginstal klien SSHFS di Linux, macOS, dan Windows dan cara memasang direktori jarak jauh.

Menginstal SSHFS

Paket SSHFS tersedia untuk semua sistem operasi dan pemasangannya cukup mudah.

Instal SSHFS di Ubuntu dan Debian

SSHFS tersedia dari repositori default Ubuntu dan Debian. Perbarui packages index dan instal sshfs client dengan mengetik:

sudo apt update
sudo apt install sshfs

Instal SSHFS pada CentOS

Pada CentOS dan turunan Red Hat lainnya, jalankan perintah berikut untuk menginstal sshfs:

sudo yum install sshfs

Instal SSHFS di macOS

pengguna macOS dapat menginstal SSHFS client dengan mengunduh paket FUSE dan SSHFS dari situs osxfuse atau via Homebrew:

brew cask install osxfuse
brew install sshfs

Instal SSHFS di Windows

Pengguna Windows perlu menginstal dua paket, WinFsp dan SSHFS-Win.

Mounting Remote File System

Instruksi berikut ini berlaku untuk semua distribusi Linux dan macOS.

Untuk mount direktori jarak jauh, pengguna SSH harus dapat mengaksesnya. Perintah mount SSHFS mengambil bentuk berikut:

sshfs [user@]host:[remote_directory] mountpoint [options]

Perintah sshfs akan membaca File Konfigurasi SSH dan menggunakan pengaturan per host. Jika direktori jarak jauh tidak ditentukan, default adalah masuk ke direktori home dari user jarak jauh.

Misalnya, untuk mount direktori home dari seorang pengguna bernama “linuxid” pada host jarak jauh dengan alamat IP “192.168.121.121”, pertama buat direktori yang akan berfungsi sebagai mount point, direktori bisa lokasi manapun yang Anda inginkan:

mkdir ~/linuxidremote

Kemudian gunakan perintah sshfs untuk mount direktori jarak jauh:

sshfs [email protected]:/home/linuxid /home/linuxid/linuxidremote

Anda akan diminta memasukkan kata sandi user. Untuk menghindari mengetikkan kata sandi setiap kali Anda mount direktori jarak jauh, buat SSH keys dan atur Login SSH Tanpa password.

Sekarang Anda dapat berinteraksi dengan direktori dan file yang terletak di remote server dengan cara yang sama seperti yang Anda lakukan dengan file lokal. Misalnya, Anda dapat mengedit, menghapus, mengganti nama, atau membuat file dan direktori baru.

Jika Anda ingin me-mount direktori remote secara permanen, Anda perlu mengedit file /etc/fstab lokal dan menambahkan mount entry baru. Dengan cara ini ketika sistem Anda boot itu akan secara otomatis me-mount remote direktory.

Untuk mount remote direktory melalui SSHFS dari /etc/fstab, gunakan fuse.sshfs sebagai tipe file sistem.

sudo vim /etc/fstab
user@host:/remote/dir  /local/mountpoint  fuse.sshfs  defaults  0  0

Mounting Remote File System pada Windows

Pengguna Windows dapat menggunakan Windows Explorer untuk memetakan drive jaringan ke direktori jarak jauh di SSH server.

Buka Windows Explorer, klik kanan pada “This PC” dan pilih “Map network drive”. Pilih drive untuk di-mount dan di bidang “Folder” masukkan nama pengguna jarak jauh, server, dan jalur dalam format berikut:

\\sshfs\user@host[\PATH]

Pada saat penulisan artikel ini, SSHFS-Win tidak mendukung otentikasi berbasis key sehingga server ssh jarak jauh perlu dikonfigurasi untuk menerima otentikasi berbasis kata sandi.

Untuk informasi lebih rinci, kunjungi halaman manual SSHFS-Win.

Unmount Remote File System

Untuk melepaskan file sistem  yang terpasang, gunakan perintah umount atau fusermount dan diikuti oleh direktori mount (mount point):

fusermount -u /local/mountpoint
umount /local/mountpoint

Kesimpulan

Dalam panduan ini, Anda telah mempelajari cara menggunakan SSHFS untuk mount emote directory melalui SSH. Ini bisa bermanfaat ketika Anda ingin berinteraksi dengan remote files dari aplikasi mesin lokal Anda.

Untuk daftar lengkap opsi yang tersedia untuk perintah sshfs, ketik man sshfs di terminal Anda.

Anda mungkin juga ingin membatasi akses pengguna ke direktori home dengan mengatur SFTP Chroot Jail dan mengubah port default SSH untuk menambahkan lapisan keamanan tambahan ke server Anda.