- SSHFS memungkinkan pemasangan direktori jarak jauh melalui SSH/SFTP menggunakan FUSE, tanpa perlu mengkonfigurasi layanan tambahan seperti NFS atau Samba.
- Menginstal dan menggunakan SSHFS sangat mudah di GNU/Linux, macOS, dan Windowsasalkan server tersebut ada. SSH mudah diakses dan FUSE atau yang setara pada klien.
- Autentikasi kunci SSH dan integrasi dengan /etc/fstab memfasilitasi pemasangan otomatis tanpa kata sandi, dengan opsi lanjutan seperti idmap, allow_other, dan reconnect.
- SSHFS menawarkan akses terenkripsi dan fleksibel ke sistem jarak jauh, meskipun dengan kinerja yang lebih rendah daripada NFS pada jaringan lokal dan dengan beberapa tindakan pencegahan keamanan yang perlu dipertimbangkan.
Bekerja dengan file yang berada di server jarak jauh seolah-olah file tersebut berada di komputer Anda sendiri. Ini adalah salah satu kemewahan kecil yang, begitu Anda mencobanya, Anda tidak akan pernah ingin meninggalkannya. Untuk pengembangan, administrasi sistem, atau sekadar memiliki "cloud rumahan" Anda sendiri, menyiapkan sistem file jarak jauh dapat menyelamatkan Anda dari banyak masalah.
SSHFS adalah alat yang memungkinkan hal ini dengan cara yang sederhana dan aman.Berkat SSH dan SFTP, Anda dapat memasang direktori jarak jauh di mesin lokal Anda dan memperlakukannya seolah-olah itu hanya disk lain, tanpa harus memulai layanan tambahan seperti NFS atau Samba. Dalam panduan ini, kita akan melihat secara detail apa itu SSHFS, bagaimana cara kerjanya, cara menginstal dan mengkonfigurasinya di GNU/Linux, macOS, dan Windows, serta opsi apa yang Anda miliki untuk mengotomatisasi dan menyempurnakan perilakunya.
Apa itu SSHFS dan mengapa hal itu mungkin menarik bagi Anda?
SSHFS (Secure Shell FileSystem) adalah sistem file berbasis FUSE yang memungkinkan pemasangan direktori jarak jauh menggunakan SFTP.Artinya, subsistem transfer file SSH. Dengan kata lain, semua komunikasi antara komputer Anda dan server dienkripsi, diautentikasi, dan dikapsulasi dalam koneksi SSH yang sama seperti biasanya.
Berbeda dengan sistem file jaringan lainnya seperti NFS atau SAMBA/CIFS, SSHFS tidak memerlukan konfigurasi layanan tambahan pada server.Yang dibutuhkan hanyalah server memiliki daemon SSH yang berjalan dan dapat diakses. Klien SSHFS itu sendiri, menggunakan FUSE, kemudian akan menyajikan sumber daya jarak jauh tersebut sebagai titik pemasangan lain pada sistem Anda.
Penggunaan SSH dan SFTP berarti semua data dienkripsi dan didekripsi secara real-time.Hal ini berlaku untuk sisi server maupun klien. Ada pro dan kontra dalam hal ini: di satu sisi, Anda mendapatkan kerahasiaan dan integritas; di sisi lain, Anda menimbulkan penurunan kinerja dibandingkan dengan opsi seperti NFS pada jaringan lokal tepercaya.
FUSE (Filesystem in Userspace) adalah komponen kernel yang memungkinkan pengguna non-hak istimewa untuk membuat sistem file "di ruang pengguna".tanpa perlu memodifikasi kernel atau memuat modul yang kompleks. SSHFS mengandalkan FUSE untuk menghubungkan sistem file jarak jauh dan mengeksposnya di pohon direktori lokal Anda.

Penggunaan umum SSHFS: lebih dari sekadar "menyalin empat file"
Memasang sistem file jarak jauh dengan SSHFS memiliki banyak sekali kegunaan praktis.Banyak dari mereka berfokus pada ketersediaan data "biasa" Anda di mana pun Anda berada, dengan pengalaman yang sangat mirip dengan bekerja secara lokal.
Salah satu penggunaan yang paling umum adalah untuk menyiapkan cloud pribadi.: sebuah server di rumah atau di VPS jarak jauh tempat Anda menyimpan dokumen, foto, atau proyek Anda, dan yang Anda akses dari laptop atau desktop Anda seolah-olah itu adalah disk sistem lain, tanpa harus melalui layanan pihak ketiga.
Dalam jaringan lokal, SSHFS sangat berguna untuk berbagi data antar komputer. LinuxSebagai contoh, mengakses folder di komputer lain di jaringan, berbagi struktur direktori mesin yang lebih canggih dengan mesin yang lebih ringan, atau menghubungkan mesin virtual dengan tuan rumah tanpa masalah sama sekali.
Bagi para pengembang, ini adalah alat yang sangat praktis untuk mengedit kode langsung di server jarak jauh. (misalnya, server web atau mesin uji) menggunakan editor lokal tepercaya, tanpa perlu melakukan sinkronisasi manual dengan rsync, scp, atau yang serupa.
Ini juga berfungsi sangat baik sebagai mekanisme cadangan sederhana.Anda dapat mengatur rute jarak jauh dan menggunakan alat Anda. backup Biasanya, pada titik pemasangan tersebut, atau sebaliknya, pasang tujuan jarak jauh untuk membuang cadangan Anda dari mesin lokal.
Prasyarat: apa yang Anda butuhkan di sisi klien dan server.
Dasar dari setiap pengaturan SSHFS adalah memiliki server SSH yang dapat diakses dan klien dengan dukungan FUSE.Setelah itu, sisanya hanyalah detail konfigurasi dan kemudahan penggunaan.
Di sisi server, Anda setidaknya perlu menginstal dan menjalankan layanan OpenSSH.Di sebagian besar distribusi GNU/Linux modern, Anda hanya perlu memastikan bahwa paket tersebut terpasang. openssh-server Perangkat tersebut telah terpasang dan layanannya telah diaktifkan:
Instal server SSH: sudo apt-get install openssh-server openssh-client
Gunakan yum pada RHEL/CentOS: sudo yum install openssh-server openssh-clients
Di sisi klien, selain OpenSSH, Anda memerlukan paket sshfs dan FUSE.Di Debian/Ubuntu, misalnya, perintahnya adalah:
Paket pelanggan: sudo apt-get install sshfs fuse
Pada sistem Red Hat/CentOS, Anda mungkin perlu mengaktifkan EPEL terlebih dahulu.karena sshfs tidak selalu ada di repositori dasar. Setelah diaktifkan:
Instal sshfs: sudo yum install sshfs
atau dalam versi modern:
Instal dengan dnf: sudo dnf install sshfs
Memeriksa dan mengaktifkan modul FUSE di GNU/Linux
Sebelum memulai perakitan apa pun, sebaiknya verifikasi terlebih dahulu apakah modul FUSE tersedia dan aktif. di dalam kernel mesin klien Anda, karena SSHFS bergantung langsung padanya.
Periksa modul FUSE: lsmod | grep fuse
Jika Anda melihat baris yang mirip dengan “fuse 86016 3”, itu berarti modul tersebut telah dimuat. Dan Anda dapat melanjutkan. Jika tidak ada yang muncul, ada dua kemungkinan: modul tersebut belum dimuat, atau FUSE dikompilasi langsung ke dalam kernel (built-in).
Periksa apakah sudah terintegrasi ke dalam kernel: grep -i fuse /lib/modules/$(uname -r)/modules.builtin
Jika perintah tersebut mengembalikan sesuatu seperti “kernel/fs/fuse/fuse.ko”, Anda bisa tenang.FUSE tersedia meskipun Anda tidak melihatnya di lsmod. Jika Anda masih tidak mendapatkan output apa pun, maka Anda harus memuatnya secara eksplisit.
Muat modul: sudo modprobe fuse
Izin pengguna dan grup FUSE
Karena SSHFS berjalan di ruang pengguna, biasanya pengguna Anda perlu menjadi anggota grup fuse. untuk menghindari masalah izin saat memasang sistem file.
Pada distribusi Debian/Ubuntu, Anda dapat menggunakan paket "members" untuk memeriksa pengguna mana yang termasuk dalam suatu grup.Pertama, Anda perlu menginstalnya:
Instal anggota: sudo apt-get install members
Kemudian Anda berkonsultasi dengan anggota kelompok sekering dengan:
Daftar anggota kelompok: members fuse
Jika nama pengguna Anda tidak tercantum, Anda perlu menambahkannya.Misalnya, jika nama Anda adalah joan:
Tambahkan pengguna ke grup: sudo gpasswd -a joan fuse
Setelah itu, disarankan untuk keluar dan masuk kembali agar perubahan grup berlaku.Setelah Anda memverifikasi bahwa semuanya benar, Anda dapat menghapus instalasi paket tersebut jika Anda mau. anggota karena Anda hanya menggunakannya sebagai alat pengecekan sekali saja.
Instal SSHFS di berbagai platform.
SSHFS tersedia tidak hanya di GNU/Linux, tetapi juga di macOS dan Windows melalui port dan adaptasi.sehingga Anda dapat menggunakannya di hampir semua lingkungan kerja campuran.
Pada Debian, Ubuntu, dan Linux Mint Instalasi tersebut disederhanakan menjadi:
Perbarui dan instal (apt): sudo apt update
sudo apt install sshfs
Di RHEL, CentOS dan turunannyaSetelah repositori yang diperlukan aktif, Anda dapat menjalankan:
Perbarui dan instal (yum): sudo yum update
sudo yum install sshfs
Di macOS, cara paling mudah adalah menggunakan Homebrew dan FUSE untuk macOS.Langkah-langkah umumnya adalah:
Instal Homebrew (jika Anda belum memilikinya):
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Instal FUSE untuk macOS:
brew cask install osxfuse
Instal sshfs di macOS:
brew install sshfs
Windows tidak memiliki SSHFS bawaan, tetapi Anda dapat menggunakan implementasi seperti win-sshfs atau SSHFS-Win.yang mengandalkan komponen tipe WinFsp untuk mengekspos sistem file FUSE sebagai drive disk Windows.
Memasang sistem file jarak jauh dengan SSHFS (penggunaan dasar)
Sintaks umum perintah sshfs di GNU/Linux dan macOS sederhana dan cukup intuitif.Pola umumnya adalah sebagai berikut:
Sintaks perintah: sshfs [usuario@]host:[directorio-remoto] punto-de-montaje [opciones]
Pertama-tama, Anda harus membuat direktori di mesin klien tempat Anda akan memasang sistem file jarak jauh.Misalnya, jika Anda ingin memasang folder jarak jauh di ~/desktop:
Buat titik pemasangan: mkdir -p /home/joan/desktop
Contoh lengkap perakitan manual dapat berupa::
Contoh perakitan: sshfs joan@192.168.1.14:/home/joan /home/joan/desktop
Dalam perintah ini, “joan@192.168.1.14” mengidentifikasi pengguna dan alamat IP server., :/home/joan adalah rute jarak jauh yang ingin Anda bagikan, dan /home/joan/desktop Ini adalah titik pemasangan lokal tempat konten akan muncul.
Jika layanan SSH mendengarkan pada port selain 22, Anda harus menentukannya dengan -pSebagai contoh, jika server menggunakan port 24:
Port khusus: sshfs -p 24 joan@192.168.1.14:/home/joan /home/joan/desktop
Setelah menjalankan perintah, Anda biasanya akan diminta memasukkan kata sandi pengguna jarak jauh.Kecuali jika Anda sudah mengkonfigurasi otentikasi kata sandi. Jika semuanya berjalan lancar, volume baru yang terkait dengan titik pemasangan akan muncul di pengelola file Anda, dan Anda dapat menelusuri dan mengedit file seolah-olah file tersebut berada di lokal.
Opsi pemasangan yang berguna dengan SSHFS
SSHFS menerima sejumlah opsi yang menyempurnakan perilaku, izin, dan kinerja.Beberapa yang paling praktis untuk kehidupan sehari-hari adalah sebagai berikut.
Untuk mengontrol pemetaan pengidentifikasi pengguna dan grup di sisi lokal. Anda dapat menggunakan opsi seperti:
Paksa UID/GID: -o uid=$(id -u),gid=$(id -g)
Ini memaksa file jarak jauh untuk tampak seolah-olah dimiliki oleh pengguna lokal Anda.Ini mencegah konflik izin ketika ID tidak cocok antara klien dan server. Anda dapat menggabungkannya dengan opsi seperti idmap=pengguna saat Anda menggunakan /etc/fstab.
Untuk meningkatkan ketahanan terhadap gangguan koneksi, hal yang umum digunakan adalah...:
Koneksi ulang otomatis: -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3
Pilihan umum lainnya adalah cache otomatis untuk mengelola cache atribut dengan lebih baik, izinkan_lainnya agar pengguna lain selain akar dapat mengakses titik perakitan, dan izin_default untuk mendelegasikan kontrol izin ke kernel lokal.
Melepaskan sistem file SSHFS
Saat Anda tidak lagi membutuhkan rakitan tersebut, penting untuk membongkarnya dengan benar.Terutama jika Anda telah menulis data, pastikan semuanya telah dikirim ke server dan tidak ada operasi yang tertunda.
Gunakan fusemount untuk melepaskan: fusermount -u /home/joan/desktop
Atau dengan perintah perakitan klasik:
Lepaskan dengan perintah umount: sudo umount /home/joan/desktop
Di banyak lingkungan desktop, Anda juga dapat melepaskan volume dari penjelajah file itu sendiri.dengan mengklik kanan volume yang terpasang dan memilih opsi "Lepaskan" atau "Keluarkan".
Autentikasi kunci SSH untuk pemasangan tanpa kata sandi
Jika Anda akan menggunakan SSHFS secara teratur, ada baiknya untuk menghindari keharusan memasukkan kata sandi setiap kali Anda memasangnya.Untuk itu, opsi terbaik adalah mengkonfigurasi otentikasi berbasis kunci SSH.
Di sisi klien, Anda membuat pasangan kunci asimetris menggunakan ssh-keygen. (tanpa kata sandi jika Anda ingin perakitan otomatis tidak meminta apa pun):
Hasilkan kunci: ssh-keygen -b 4096 -t rsa -C "$(whoami)@$(hostname)-$(date -I)"
-b 4096 menunjukkan ukuran kunci dalam bit, -t rsa mendefinisikan algoritma, dan parameter -C menambahkan komentar pengenal ke kunci (misalnya, pengguna, mesin, dan tanggal).
Saat ssh-keygen menanyakan di mana Anda ingin menyimpan kunci, cukup tekan Enter untuk menggunakan jalur default (~/.ssh/id_rsa)Anda juga dapat mengosongkan kata sandi jika ingin proses koneksi sepenuhnya otomatis.
Kunci publik yang dihasilkan (~/.ssh/id_rsa.pub) harus disalin ke server. dan ditambahkan ke dalam berkas. ~/.ssh/authorized_keys dari pengguna jarak jauh yang akan Anda gunakan dengan SSHFS.
Salin dan otorisasikan kunci publik di server.
Pertama, pastikan file authorized_keys ada di dalam ~/.ssh di server.Anda dapat membuatnya dengan:
Buat authorized_keys jika belum ada: touch ~/.ssh/authorized_keys
Di sisi klien, salin kunci publik ke server menggunakan scp atau ssh-copy-id.Sebagai contoh, dengan scp:
Salin kunci publik ke server: scp ~/.ssh/id_rsa.pub joan@192.168.1.14:~/.ssh
Setelah berada di server, tambahkan isi dari id_rsa.pub ke file authorized_keys. untuk mengotorisasi kunci tersebut:
Tambahkan kunci ke authorized_keys: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Setelah itu, jika properti dan izin dari ~/.ssh dan authorized_keys sudah benarAnda akan dapat terhubung dari klien ke server tersebut tanpa memasukkan kata sandi, dan selanjutnya, secara otomatis memasangnya dengan SSHFS menggunakan opsi tersebut. File Identitas.
Pasang sistem file SSHFS secara otomatis dengan /etc/fstab
Jika Anda ingin sistem file jarak jauh terpasang secara otomatis setiap kali komputer diny启动, tanpa campur tangan Anda.Anda dapat menggunakan file /etc/fstab untuk menentukan mount SSHFS.
Pada komputer klien, edit file /etc/fstab dengan hak akses administrator.:
Edit fstab: sudo nano /etc/fstab
Contoh jalur perakitan tipikal dengan SSHFS adalah::
Contoh fstab lengkap: joan@192.168.1.14:/home/joan /home/joan/desktop fuse.sshfs defaults,idmap=user,_netdev,users,IdentityFile=/home/joan/.ssh/id_rsa,allow_other,reconnect 0 0
Pada baris ini Anda menentukan sumber daya jarak jauh, titik pemasangan lokal, dan jenis sistem file (fuse.sshfs)., diikuti oleh serangkaian opsi:
default: menerapkan opsi pemasangan standar (baca/tulis, eksekusi, dll.).
idmap=pengguna: memaksa pemilik file yang terlihat menjadi pengguna lokal Anda.
_netdevIni menunjukkan bahwa sistem tersebut bergantung pada jaringan, yang membantu systemd mengelola urutan boot.
Pengguna: memungkinkan setiap pengguna untuk memasang/melepas sumber daya.
File Identitas: jalur kunci pribadi untuk terhubung tanpa kata sandi.
izinkan_lainnya: memberikan akses kepada pengguna selain yang memasangnya (memerlukan konfigurasi FUSE).
menyambung kembaliCoba lagi koneksi jika terputus.
Pada distribusi yang menggunakan systemd, mungkin menarik untuk menggunakan opsi noauto yang dikombinasikan dengan x-systemd.automount.agar rakitan tersebut diaktifkan pada akses pertama:
Contoh fstab dengan automount: joan@192.168.1.14:/home/joan /home/joan/desktop fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/joan/.ssh/id_rsa,allow_other,reconnect 0 0
Perlu diingat bahwa kesalahan sintaks atau opsi yang salah diatur dalam fstab dapat mencegah sistem melakukan booting secara normal.Oleh karena itu, disarankan untuk mencadangkan /etc/fstab sebelum mengubahnya dan menyiapkan LiveUSB jika Anda perlu memperbaikinya secara offline.
Konfigurasikan FUSE untuk menggunakan allow_other
Opsi allow_other, yang sangat berguna untuk berbagi titik pemasangan dengan pengguna lain, tidak akan berfungsi kecuali Anda mengaktifkannya secara eksplisit dalam konfigurasi FUSE..
Di sebagian besar distribusi, cukup dengan mengedit /etc/fuse.conf. sebagai root:
Edit file fuse.conf: sudo nano /etc/fuse.conf
Di dalam file tersebut, temukan baris yang berisi “#user_allow_other” dan hapus tanda komentarnya.membiarkannya seperti ini:
user_allow_other
Simpan perubahan dan tutup editor.Mulai saat itu, Anda dapat menggunakan opsi allow_other pada mount SSHFS dan di /etc/fstab tanpa ditolak oleh konfigurasi.
Menggunakan SSHFS di Windows: win-sshfs dan SSHFS-Win Manager
Di Windows, penggunaan SSHFS melibatkan alat pihak ketiga yang mengintegrasikan FUSE dengan sistem file sistem operasi itu sendiri.Dua pendekatan yang paling umum adalah win-sshfs dan kombinasi SSHFS-Win + WinFsp, yang sering dikelola dengan antarmuka grafis yang mudah digunakan.
win-sshfs dulunya merupakan salah satu opsi paling sederhana.Sebuah program instalasi akan diunduh yang mencakup semua yang dibutuhkan untuk memasang direktori jarak jauh melalui SSH seolah-olah itu adalah drive Windows. Setelah terinstal, cukup buka aplikasinya, buat entri baru, isi host, port, nama pengguna, kata sandi, jalur jarak jauh, dan huruf drive, lalu klik Pasang.
Alternatif yang lebih modern adalah SSHFS-Win bersama dengan WinFsp dan, sebagai pelengkap, SSHFS-Win Manager sebagai antarmuka grafis.WinFsp bertindak sebagai lapisan yang memungkinkan Windows untuk berkomunikasi dengan sistem file FUSE, SSHFS-Win menyediakan dukungan SSHFS sendiri, dan SSHFS-Win Manager menawarkan GUI untuk membuat dan mengelola mount tanpa menyentuh baris perintah. perintah.
Alur kerja tipikal dengan SSHFS-Win Manager sangat mirip dengan cara pengguna grafis melakukannya di Linux.Anda menambahkan koneksi baru, menulis IP atau domain server, port SSH (biasanya 22), nama pengguna dan kata sandi atau kunci Anda, memilih jalur jarak jauh (/, /var/www, ~/… tergantung kebutuhan Anda) dan menetapkan huruf drive agar muncul di "Komputer Ini".
Setelah dipasang, direktori jarak jauh akan muncul di Windows File Explorer sebagai drive biasa.Anda dapat menyeret dan meletakkan file, mengganti nama, mengedit, dan menghapus hampir seperti sedang bekerja di hard drive lokal.
Praktik terbaik, kinerja, dan keamanan dengan SSHFS
SSHFS sangat praktis, tetapi penting untuk menyadari keterbatasannya dan beberapa rekomendasi keamanan.terutama jika Anda akan membuat direktori dengan data sensitif atau bekerja melalui Internet.
Dari segi performa, enkripsi dan latensi jaringan sangatlah penting.Pada jaringan lokal yang cepat dengan server yang relatif mumpuni, performanya akan cukup baik, meskipun di bawah NFS dalam sebagian besar skenario. Melalui internet, latensi dapat cukup terasa dalam operasi yang melibatkan banyak file kecil.
Demi alasan keamanan, memasang direktori jarak jauh di lingkungan produksi dengan fstab dan pemasangan permanen tidak selalu merupakan ide yang baik.Karena kerentanan pada sisi klien dapat membuka akses langsung ke server, lebih baik membatasi akses, menggunakan pengguna chroot, atau menerapkan sistem perizinan yang sangat ketat untuk lingkungan yang kritis.
Penting juga untuk meninjau pengaturan firewall dan router saat Anda mengakses dari luar jaringan lokal AndaAnda perlu mengalihkan port SSH ke mesin yang bertindak sebagai server file, dan memastikan bahwa port tersebut hanya dapat diakses dari sumber yang terkontrol atau setidaknya menggunakan langkah-langkah pengerasan keamanan seperti fail2ban, kunci yang kuat, dan menonaktifkan login kata sandi.
Terakhir, jika Anda memasang direktori pengguna root atau jalur yang sangat sensitif, berhati-hatilah.Praktik yang umum dilakukan adalah bekerja dengan pengguna tanpa hak akses istimewa dan mendelegasikan operasi-operasi sensitif ke sudo pada server itu sendiri, alih-alih membuka akses root sistem jarak jauh secara luas.
SSHFS menjadi alat yang sangat serbaguna untuk mengelola, mengembangkan, dan berbagi data di server jarak jauh.Terutama jika Anda sudah memiliki layanan SSH yang berfungsi dan ingin menghindari konfigurasi NFS atau Samba tambahan. Jika digunakan dengan bijak, dengan kunci yang dikelola dengan baik dan opsi FUSE dan fstab yang tepat, ini memungkinkan Anda untuk mengakses sistem jarak jauh Anda dengan mudah, seperti folder lain di mesin Anda, tanpa mengorbankan keamanan atau stabilitas.
Penulis yang bersemangat tentang dunia byte dan teknologi secara umum. Saya suka berbagi ilmu melalui tulisan, dan itulah yang akan saya lakukan di blog ini, menunjukkan kepada Anda semua hal paling menarik tentang gadget, perangkat lunak, perangkat keras, tren teknologi, dan banyak lagi. Tujuan saya adalah membantu Anda menavigasi dunia digital dengan cara yang sederhana dan menghibur.

