- SSHFS membenarkan pemasangan direktori jauh melalui SSH/SFTP menggunakan FUSE, tanpa perlu mengkonfigurasi perkhidmatan tambahan seperti NFS atau Samba.
- Memasang dan menggunakan SSHFS adalah mudah pada GNU/Linux, macOS dan Windowsdengan syarat pelayan wujud SSH boleh diakses dan FUSE atau yang setaraf pada klien.
- Pengesahan dan penyepaduan kunci SSH dengan /etc/fstab memudahkan pemasangan automatik tanpa kata laluan, dengan pilihan lanjutan seperti idmap, allow_other dan reconnect.
- SSHFS menawarkan akses yang disulitkan dan fleksibel kepada sistem jauh, walaupun dengan prestasi yang lebih rendah daripada NFS pada rangkaian tempatan dan dengan langkah berjaga-jaga keselamatan yang perlu dipertimbangkan.
Bekerja dengan fail yang berada di pelayan jauh seolah-olah ia berada di komputer anda sendiri Ia merupakan salah satu kemewahan kecil yang, sebaik sahaja anda mencubanya, anda tidak akan mahu berputus asa. Untuk pembangunan, pentadbiran sistem atau sekadar untuk memiliki "awan rumah" anda sendiri, menyediakan sistem fail jauh boleh menjimatkan banyak masalah.
SSHFS merupakan alat yang membolehkan perkara ini dilakukan dengan cara yang mudah dan selamat.Terima kasih kepada SSH dan SFTP, anda boleh memasang direktori jauh pada mesin setempat anda dan melayannya seolah-olah ia hanyalah cakera lain, tanpa perlu memulakan perkhidmatan tambahan seperti NFS atau Samba. Dalam panduan ini, kita akan melihat secara terperinci tentang apa itu SSHFS, cara ia berfungsi, cara memasang dan mengkonfigurasinya pada GNU/Linux, macOS dan Windows, serta pilihan yang anda ada untuk mengautomasikan dan memperhalusi kelakuannya.
Apakah SSHFS dan mengapa ia mungkin menarik minat anda?
SSHFS (Secure Shell FileSystem) ialah sistem fail berasaskan FUSE yang membolehkan pemasangan direktori jauh menggunakan SFTP.Iaitu, subsistem pemindahan fail SSH. Dalam erti kata lain, semua komunikasi antara komputer anda dan pelayan disulitkan, disahkan dan dienkapsulasi dalam sambungan SSH yang sama seperti biasa.
Tidak seperti sistem fail rangkaian lain seperti NFS atau SAMBA/CIFS, SSHFS tidak memerlukan konfigurasi perkhidmatan tambahan pada pelayan.Apa yang diperlukan hanyalah pelayan mempunyai daemon SSH yang berjalan dan boleh diakses. Klien SSHFS itu sendiri, yang menggunakan FUSE, kemudiannya akan mempersembahkan sumber jauh tersebut sebagai titik pemasangan lain pada sistem anda.
Menggunakan SSH dan SFTP bermaksud semua data disulitkan dan dinyahsulit dalam masa nyata.Ini terpakai kepada kedua-dua pihak pelayan dan klien. Terdapat kebaikan dan keburukan dalam hal ini: di satu pihak, anda mendapat kerahsiaan dan integriti; di pihak yang lain, anda memperkenalkan penalti prestasi berbanding pilihan seperti NFS pada rangkaian tempatan yang dipercayai.
FUSE (Sistem Fail dalam Ruang Pengguna) ialah komponen kernel yang membolehkan pengguna bukan istimewa mencipta sistem fail "dalam ruang pengguna".tanpa perlu mengubah suai kernel atau memuatkan modul kompleks. SSHFS bergantung pada FUSE untuk menghubungkan sistem fail jauh dan mendedahkannya dalam pokok direktori setempat anda.

Kegunaan biasa SSHFS: melangkaui "menyalin empat fail"
Memasang sistem fail jauh dengan SSHFS mempunyai banyak kegunaan praktikal.Kebanyakan daripada mereka memberi tumpuan kepada menyediakan data "biasa" anda di mana sahaja anda berada, dengan pengalaman yang sangat serupa dengan bekerja di dalam negara.
Salah satu kegunaan yang paling biasa adalah untuk menyediakan awan peribadi: pelayan di rumah atau pada VPS jauh tempat anda menyimpan dokumen, foto atau projek anda, dan yang anda akses dari komputer riba atau desktop anda seolah-olah ia adalah cakera sistem lain, tanpa perlu melalui perkhidmatan pihak ketiga.
Dalam rangkaian tempatan, SSHFS sangat berguna untuk perkongsian data antara komputer. LinuxContohnya, mengakses folder pada komputer lain di rangkaian, berkongsi pokok direktori mesin yang berkuasa dengan mesin yang lebih ringan atau menyambung mesin maya bersama tuan rumah tanpa sebarang masalah.
Bagi pembangun, ia merupakan alat yang sangat mudah untuk mengedit kod secara langsung pada pelayan jauh. (contohnya, pelayan web atau mesin ujian) menggunakan editor setempat yang dipercayai, tanpa perlu menyegerakkan secara manual dengan rsync, scp atau yang serupa.
Ia juga berfungsi dengan baik sebagai mekanisme sandaran mudahAnda boleh menyediakan laluan jauh dan menggunakan alatan anda sandaran biasanya pada titik pemasangan itu, atau sebaliknya, pasang destinasi jauh untuk membuang sandaran anda daripada mesin tempatan.
Prasyarat: apa yang anda perlukan pada klien dan pelayan
Asas bagi sebarang persediaan SSHFS adalah mempunyai pelayan SSH yang boleh diakses dan klien dengan sokongan FUSE.Dari situ, selebihnya hanyalah butiran konfigurasi dan kemudahan penggunaan.
Di bahagian pelayan, anda perlu, sekurang-kurangnya, memasang dan menjalankan perkhidmatan OpenSSH.Dalam kebanyakan pengedaran GNU/Linux moden, anda hanya perlu memastikan bahawa pakej tersebut openssh-server Ia telah dipasang dan perkhidmatan diaktifkan:
Pasang pelayan SSH: sudo apt-get install openssh-server openssh-client
Gunakan yum pada RHEL/CentOS: sudo yum install openssh-server openssh-clients
Di pihak klien, selain OpenSSH, anda memerlukan pakej sshfs dan FUSE.Dalam Debian/Ubuntu, sebagai contoh, arahannya ialah:
Pakej pelanggan: sudo apt-get install sshfs fuse
Pada sistem Red Hat / CentOS, anda mungkin perlu mendayakan EPEL terlebih dahulukerana sshfs tidak selalunya berada dalam repositori asas. Setelah diaktifkan:
Pasang sshfs: sudo yum install sshfs
atau dalam versi moden:
Pasang dengan dnf: sudo dnf install sshfs
Semak dan aktifkan modul FUSE dalam GNU/Linux
Sebelum mula memasang apa-apa, adalah dinasihatkan untuk mengesahkan bahawa modul FUSE tersedia dan aktif. dalam kernel mesin klien anda, memandangkan SSHFS bergantung secara langsung padanya.
Semak modul FIUS: lsmod | grep fuse
Jika anda melihat baris yang serupa dengan “fius 86016 3”, ini bermakna modul telah dimuatkan. Dan anda boleh teruskan. Jika tiada apa-apa yang muncul, terdapat dua kemungkinan: sama ada modul belum dimuatkan, atau FUSE dikompilasi terus ke dalam kernel (terbina dalam).
Periksa sama ada ia telah disepadukan ke dalam kernel: grep -i fuse /lib/modules/$(uname -r)/modules.builtin
Jika arahan tersebut mengembalikan sesuatu seperti “kernel/fs/fuse/fuse.ko”, anda boleh berehat dengan tenang.FUSE tersedia walaupun anda tidak melihatnya dalam lsmod. Jika anda masih tidak mendapat sebarang output, maka anda perlu memuatkannya secara eksplisit.
Modul beban: sudo modprobe fuse
Kebenaran pengguna dan kumpulan FUSE
Oleh kerana SSHFS berjalan dalam ruang pengguna, adalah perkara biasa bagi pengguna anda untuk menjadi sebahagian daripada kumpulan fius. untuk mengelakkan masalah kebenaran semasa memasang sistem fail.
Dalam pengedaran Debian/Ubuntu, anda boleh menggunakan pakej "ahli" untuk menyemak pengguna mana yang tergolong dalam sesuatu kumpulanPertama, anda memasangnya:
Ahli pasang: sudo apt-get install members
Kemudian anda berunding dengan ahli kumpulan fius dengan:
Senarai ahli kumpulan: members fuse
Jika nama pengguna anda tidak disenaraikan, anda perlu menambahnya.Contohnya, jika nama anda ialah joan:
Tambah pengguna ke kumpulan: sudo gpasswd -a joan fuse
Selepas ini, adalah disyorkan untuk log keluar dan log masuk semula agar perubahan kumpulan berkuat kuasa.Sebaik sahaja anda mengesahkan bahawa semuanya betul, anda boleh menyahpasang pakej jika anda mahu. ahli kerana anda hanya menggunakannya sebagai alat semakan sekali sahaja.
Pasang SSHFS pada platform yang berbeza
SSHFS bukan sahaja tersedia pada GNU/Linux, tetapi juga pada macOS dan Windows melalui port dan penyesuaian.jadi anda boleh menggunakannya dalam hampir semua persekitaran kerja campuran.
Pada Debian, Ubuntu dan Linux Mint Pemasangan dikurangkan kepada:
Kemas kini dan pasang (apt): sudo apt update
sudo apt install sshfs
Dalam RHEL, CentOS dan derivatifSebaik sahaja repositori yang diperlukan aktif, anda boleh menjalankan:
Kemas kini dan pasang (yum): sudo yum update
sudo yum install sshfs
Pada macOS, cara paling mudah adalah dengan menggunakan Homebrew dan FUSE untuk macOSLangkah-langkah tipikal adalah:
Pasang Homebrew (jika anda belum memilikinya):
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Pasang FUSE untuk macOS:
brew cask install osxfuse
Pasang sshfs pada macOS:
brew install sshfs
Windows tidak mempunyai SSHFS asli, tetapi anda boleh menggunakan pelaksanaan seperti win-sshfs atau SSHFS-Win.yang bergantung pada komponen jenis WinFsp untuk mendedahkan sistem fail FUSE sebagai pemacu cakera Windows.
Memasang sistem fail jauh dengan SSHFS (penggunaan asas)
Sintaks umum arahan sshfs dalam GNU/Linux dan macOS adalah mudah dan agak intuitif.Corak biasa adalah seperti berikut:
Sintaks arahan: sshfs [usuario@]host:[directorio-remoto] punto-de-montaje [opciones]
Pertama sekali, anda mesti mencipta direktori pada mesin klien di mana anda akan memasang sistem fail jauhContohnya, jika anda ingin memasang folder jauh dalam ~/komputer meja:
Cipta titik pemasangan: mkdir -p /home/joan/desktop
Satu contoh lengkap pemasangan manual boleh jadi:
Contoh pemasangan: sshfs joan@192.168.1.14:/home/joan /home/joan/desktop
Dalam arahan ini, "joan@192.168.1.14" mengenal pasti pengguna dan alamat IP pelayan., :/rumah/joan ialah laluan jauh yang anda ingin kongsikan, dan /laman utama/joan/desktop Ini ialah titik pemasangan setempat di mana kandungan akan dipaparkan.
Jika perkhidmatan SSH mendengar pada port selain daripada 22, anda mesti menyatakannya dengan -pContohnya, jika pelayan menggunakan port 24:
Port tersuai: sshfs -p 24 joan@192.168.1.14:/home/joan /home/joan/desktop
Selepas melaksanakan arahan, anda biasanya akan diminta kata laluan pengguna jauh.Melainkan anda sudah mempunyai pengesahan kata laluan yang dikonfigurasikan. Jika semuanya berjalan lancar, jilid baharu yang dikaitkan dengan titik pemasangan akan muncul dalam pengurus fail anda dan anda akan dapat menyemak imbas dan mengedit fail seolah-olah ia fail setempat.
Pilihan pemasangan yang berguna dengan SSHFS
SSHFS menerima beberapa pilihan yang memperhalusi tingkah laku, kebenaran dan prestasi.Antara yang paling praktikal untuk kehidupan seharian adalah seperti berikut.
Untuk mengawal pemetaan pengecam pengguna dan kumpulan di bahagian setempat Anda boleh menggunakan pilihan seperti:
Paksa UID/GID: -o uid=$(id -u),gid=$(id -g)
Ini memaksa fail jauh muncul seolah-olah ia dimiliki oleh pengguna setempat anda.Ini menghalang konflik kebenaran apabila ID tidak sepadan antara klien dan pelayan. Anda boleh menggabungkannya dengan pilihan seperti idmap=pengguna apabila anda menggunakan /etc/fstab.
Untuk meningkatkan daya tahan terhadap gangguan sambungan, adalah perkara biasa untuk digunakan:
Penyambungan semula automatik: -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3
Pilihan umum lain ialah auto_cache untuk mengurus cache atribut dengan lebih baik, benarkan_lain supaya pengguna lain selain akar boleh mengakses tempat perhimpunan, dan default_permissions untuk mewakilkan kawalan kebenaran kepada kernel tempatan.
Menyahpasang sistem fail SSHFS
Apabila anda tidak lagi memerlukan pemasangan, adalah penting untuk membongkarnya dengan betul.Terutamanya jika anda telah menulis data, untuk memastikan semuanya telah dihantar ke pelayan dan tiada operasi yang belum selesai.
Gunakan fusermount untuk turun: fusermount -u /home/joan/desktop
Atau dengan arahan pemasangan klasik:
Turun dengan umount: sudo umount /home/joan/desktop
Dalam banyak persekitaran desktop, anda juga boleh menyahpasang kelantangan daripada penjelajah fail itu sendiri.dengan mengklik kanan pada kelantangan yang dipasang dan memilih pilihan "Nyahpasang" atau "Keluarkan".
Pengesahan kunci SSH untuk pemasangan tanpa kata laluan
Jika anda akan menggunakan SSHFS secara berkala, adalah wajar untuk mengelakkan daripada memasukkan kata laluan setiap kali anda memasangnya.Untuk itu, pilihan terbaik adalah mengkonfigurasi pengesahan berasaskan kunci SSH.
Pada klien, anda menjana pasangan kunci asimetri menggunakan ssh-keygen (tanpa frasa laluan jika anda mahu pemasangan automatik tidak meminta apa-apa):
Jana kunci: ssh-keygen -b 4096 -t rsa -C "$(whoami)@$(hostname)-$(date -I)"
-b 4096 menunjukkan saiz dalam bit kekunci, -t rsa mentakrifkan algoritma, dan parameter -C menambah komen pengenalpastian pada kekunci (contohnya, pengguna, mesin dan tarikh).
Apabila ssh-keygen bertanya kepada anda di mana hendak menyimpan kekunci, hanya tekan Enter untuk menggunakan laluan lalai (~/.ssh/id_rsa)Dan anda boleh membiarkan frasa laluan kosong jika anda mahu proses sambungan menjadi automatik sepenuhnya.
Kunci awam yang dijana (~/.ssh/id_rsa.pub) mesti disalin ke pelayan dan akan ditambah ke dalam fail ~/.ssh/authorized_keys pengguna jauh yang akan anda gunakan dengan SSHFS.
Salin dan benarkan kunci awam pada pelayan
Pertama, pastikan fail authorized_keys wujud dalam ~/.ssh pada pelayan.Anda boleh menciptanya dengan:
Cipta authorized_keys jika tiada: touch ~/.ssh/authorized_keys
Pada klien, salin kunci awam ke pelayan menggunakan scp atau ssh-copy-id.Contohnya, dengan scp:
Salin kunci awam ke pelayan: scp ~/.ssh/id_rsa.pub joan@192.168.1.14:~/.ssh
Sebaik sahaja berada di pelayan, tambahkan kandungan id_rsa.pub ke fail authorized_keys untuk membenarkan kunci tersebut:
Tambah kunci pada authorized_keys: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Selepas ini, jika sifat dan kebenaran ~/.ssh dan authorized_keys adalah betulAnda akan dapat menyambung dari klien ke pelayan tersebut tanpa memasukkan kata laluan, dan secara lanjutan, memasangnya secara automatik dengan SSHFS menggunakan pilihan Fail Identiti.
Pasang sistem fail SSHFS secara automatik dengan /etc/fstab
Jika anda mahu sistem fail jauh dipasang secara automatik setiap kali komputer bermula, tanpa campur tangan anda.Anda boleh menggunakan fail /etc/fstab untuk menentukan pemasangan SSHFS.
Pada mesin klien, edit fail /etc/fstab dengan keistimewaan pentadbir:
Edit fstab: sudo nano /etc/fstab
Satu contoh barisan pemasangan biasa dengan SSHFS ialah:
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
Dalam baris ini anda menentukan sumber jauh, titik pemasangan setempat dan jenis sistem fail (fuse.sshfs), diikuti dengan satu set pilihan:
lalai: menggunakan pilihan pemasangan biasa (baca/tulis, laksana, dll.).
idmap=pengguna: memaksa pemilik fail yang jelas menjadi pengguna setempat anda.
_netdevIni menunjukkan bahawa sistem bergantung pada rangkaian, yang membantu sistem mengurus susunan boot.
pengguna: membenarkan mana-mana pengguna memasang/menyahpasang sumber.
Fail Identiti: laluan kunci peribadi untuk bersambung tanpa kata laluan.
benarkan_lain: memberikan akses kepada pengguna selain daripada yang memasangnya (memerlukan konfigurasi FUSE).
menyambung semulaCuba semula sambungan jika ia terputus.
Dalam pengedaran yang menggunakan systemd, mungkin menarik untuk menggunakan pilihan noauto yang digabungkan dengan x-systemd.automountsupaya pemasangan 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 bahawa ralat sintaks atau pilihan yang ditetapkan secara salah dalam fstab boleh menghalang sistem daripada boot secara normal.Oleh itu, adalah dinasihatkan untuk membuat sandaran /etc/fstab sebelum menyentuhnya dan sediakan LiveUSB sekiranya anda perlu membaikinya di luar talian.
Konfigurasikan FUSE untuk menggunakan allow_other
Pilihan allow_other, yang sangat berguna untuk berkongsi titik pemasangan dengan pengguna lain, tidak berfungsi melainkan anda mendayakannya secara eksplisit dalam konfigurasi FUSE..
Dalam kebanyakan pengedaran, sudah memadai untuk mengedit /etc/fuse.conf sebagai akar:
Edit fius.conf: sudo nano /etc/fuse.conf
Dalam fail tersebut, cari baris yang mengandungi “#user_allow_other” dan nyahkomenkannya.meninggalkannya seperti ini:
user_allow_other
Simpan perubahan dan tutup editorMulai saat itu, anda akan dapat menggunakan pilihan allow_other dalam pemasangan SSHFS anda dan dalam /etc/fstab tanpa ia ditolak oleh konfigurasi.
Menggunakan SSHFS pada Windows: win-sshfs dan SSHFS-Win Manager
Dalam Windows, penggunaan SSHFS melibatkan alat pihak ketiga yang mengintegrasikan FUSE dengan sistem fail sistem pengendalian itu sendiri.Dua pendekatan yang paling biasa ialah win-sshfs dan kombinasi SSHFS-Win + WinFsp, yang sering diuruskan dengan antara muka grafik yang mudah.
win-sshfs telah lama menjadi salah satu pilihan paling mudahPemasang dimuat turun yang merangkumi semua yang diperlukan untuk memasang direktori jauh melalui SSH seolah-olah ia adalah pemacu Windows. Setelah dipasang, buka aplikasi, buat entri baharu, isikan hos, port, nama pengguna, kata laluan, laluan jauh dan huruf pemacu, dan klik Pasang.
Alternatif yang lebih moden ialah SSHFS-Win bersama-sama dengan WinFsp dan, sebagai tambahan, SSHFS-Win Manager sebagai antara muka grafik.WinFsp bertindak sebagai lapisan yang membolehkan Windows berkomunikasi dengan sistem fail FUSE, SSHFS-Win menyediakan sokongan SSHFS itu sendiri, dan SSHFS-Win Manager menawarkan GUI untuk mencipta dan mengurus mount tanpa menyentuh baris arahan. arahan.
Aliran kerja biasa dengan SSHFS-Win Manager sangat serupa dengan cara pengguna grafik melakukannya dalam Linux.Anda menambah sambungan baharu, menulis IP atau domain pelayan, port SSH (biasanya 22), nama pengguna dan kata laluan atau kekunci anda, pilih laluan jauh (/, /var/www, ~/… bergantung pada keperluan anda) dan tetapkan huruf pemacu supaya ia muncul dalam "PC Ini".
Setelah dipasang, direktori jauh muncul dalam Windows File Explorer sebagai pemacu lain sahaja.Dan anda boleh seret dan lepas fail, namakan semula, sunting dan padam hampir seolah-olah anda sedang mengendalikan cakera keras setempat.
Amalan terbaik, prestasi dan keselamatan dengan SSHFS
SSHFS sangat mudah, tetapi penting untuk mengetahui batasannya dan beberapa cadangan keselamatan.terutamanya jika anda akan membuat direktori dengan data sensitif atau bekerja melalui Internet.
Dari segi prestasi, penyulitan dan latensi rangkaian membuat semua perbezaan.Pada rangkaian setempat yang pantas dengan pelayan yang agak berkuasa, prestasinya agak baik, walaupun di bawah NFS dalam kebanyakan senario. Melalui internet, latensi boleh agak ketara dalam operasi yang melibatkan banyak fail kecil.
Atas sebab keselamatan, pemasangan direktori jauh dalam pengeluaran dengan fstab dan pemasangan kekal tidak selalunya merupakan idea yang baik.Oleh kerana kompromi klien boleh membuka pintu terus ke pelayan, adalah lebih baik untuk mengehadkan akses, menggunakan pengguna chroot atau melaksanakan sistem kebenaran yang sangat terhad untuk persekitaran kritikal.
Penting juga untuk menyemak tetapan firewall dan penghala apabila anda mengakses dari luar rangkaian setempat andaAnda perlu mengalihkan port SSH ke mesin yang bertindak sebagai pelayan fail dan memastikan ia hanya boleh diakses daripada sumber terkawal atau sekurang-kurangnya menggunakan langkah pengerasan seperti fail2ban, kekunci kuat dan melumpuhkan log masuk kata laluan.
Akhir sekali, jika anda memasang direktori pengguna root atau laluan yang sangat sensitif, ambil langkah berjaga-jaga yang ekstrem.Amalan biasa adalah untuk bekerja dengan pengguna tanpa keistimewaan yang tinggi dan mewakilkan operasi halus kepada sudo pada pelayan itu sendiri, bukannya membuka root sistem jauh secara meluas.
SSHFS menjadi alat yang sangat serba boleh untuk mengurus, membangun dan berkongsi data pada pelayan jauh.Terutamanya apabila anda sudah mempunyai perkhidmatan SSH yang berfungsi dan ingin mengelakkan daripada berurusan dengan konfigurasi NFS atau Samba tambahan. Digunakan dengan bijak, dengan kekunci yang diurus dengan baik dan pilihan FUSE dan fstab yang betul, ia membolehkan anda mempunyai sistem jauh anda mudah diakses, sama seperti mana-mana folder lain pada mesin anda, tanpa menjejaskan keselamatan atau kestabilan.
Penulis yang bersemangat tentang dunia bait dan teknologi secara umum. Saya suka berkongsi pengetahuan saya melalui penulisan, dan itulah yang akan saya lakukan dalam blog ini, menunjukkan kepada anda semua perkara yang paling menarik tentang alat, perisian, perkakasan, trend teknologi dan banyak lagi. Matlamat saya adalah untuk membantu anda mengemudi dunia digital dengan cara yang mudah dan menghiburkan.

