Kaip prijungti nuotolinę Linux failų sistemą arba katalogą naudojant SSHFS per SSH


Pagrindinis šio straipsnio rašymo tikslas – pateikti nuoseklų vadovą, kaip prijungti nuotolinę „Linux“ failų sistemą naudojant SSHFS klientą per SSH.

Šis straipsnis yra naudingas tiems vartotojams ir sistemos administratoriams, kurie nori prijungti nuotolinę failų sistemą savo vietinėse sistemose bet kokiais tikslais. Praktiškai išbandėme įdiegę SSHFS klientą vienoje iš mūsų Linux sistemų ir sėkmingai įdiegėme nuotolines failų sistemas.

Prieš pradėdami diegti, supraskime apie SSHFS ir kaip jis veikia.

Kas yra SSHFS?

SSHFS reiškia (Secure SHell FileSystem) klientą, leidžiantį prijungti nuotolinę failų sistemą ir sąveikauti su nuotoliniais katalogais bei failais vietiniame kompiuteryje naudojant SSH Failų perdavimo protokolas (SFTP).

Siūlomas skaitymas: 10 sFTP komandų pavyzdžių, kaip perkelti failus į nuotolinius serverius sistemoje Linux

SFTP yra saugus failų perdavimo protokolas, suteikiantis prieigą prie failų, failų perdavimo ir failų valdymo funkcijas naudojant Secure Shell protokolą. Kadangi SSH naudoja šifravimą perkeliant failus tinkle iš vieno kompiuterio į kitą, o SSHFS yra su įtaisytuoju FUSE (Failų sistema naudotojo erdvėje) branduolio modulis, leidžiantis visiems neprivilegijuotiems vartotojams sukurti savo failų sistemą nekeičiant branduolio kodo.

Šiame straipsnyje parodysime, kaip įdiegti ir naudoti SSHFS klientą bet kuriame „Linux“ paskirstyme, kad būtų galima prijungti nuotolinę „Linux“ failų sistemą arba katalogą vietiniame „Linux“ kompiuteryje.

1 veiksmas: įdiekite SSHFS klientą „Linux“ sistemose

Pagal numatytuosius nustatymus sshfs paketai neegzistuoja visuose pagrindiniuose „Linux“ platinimuose, turite įgalinti „epel“ saugyklą savo „Linux“ sistemose, kad įdiegtumėte sshfs naudodami komandą Yum su jų priklausomybėmis.

yum install sshfs
dnf install sshfs              [On Fedora 22+ releases]
sudo apt-get install sshfs     [On Debian/Ubuntu based systems]

2 veiksmas: sukurkite SSHFS prijungimo katalogą

Įdiegę sshfs paketą, turite sukurti prijungimo taško katalogą, kuriame prijungsite nuotolinę failų sistemą. Pavyzdžiui, mes sukūrėme prijungimo katalogą /mnt/tecmint.

mkdir /mnt/tecmint
sudo mkdir /mnt/tecmint     [On Debian/Ubuntu based systems]

3 veiksmas: sumontuokite nuotolinę failų sistemą su SSHFS

Sukūrę prijungimo taško katalogą, paleiskite šią komandą kaip root naudotojas, kad prijungtumėte nuotolinę failų sistemą /mnt/tecmint . Jūsų atveju montavimo katalogas būtų bet koks.

Ši komanda įtrauks nuotolinį katalogą, pavadintą /home/tecmint, esantį vietinėje sistemoje /mnt/tecmint. (Nepamirškite pakeisti x.x.x.x savo IP adresu ir prijungimo tašku).


sshfs [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Jei jūsų „Linux“ serveris sukonfigūruotas naudojant SSH rakto autorizaciją, turėsite nurodyti viešųjų raktų kelią, kaip parodyta šioje komandoje.


sshfs -o IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

4 veiksmas: patikrinkite, ar nuotolinė failų sistema yra prijungta

Jei sėkmingai vykdėte pirmiau nurodytą komandą be klaidų, pamatysite nuotolinių failų ir katalogų, prijungtų /mnt/tecmint, sąrašą.

cd /mnt/tecmint
ls
[root@ tecmint]# ls
12345.jpg                       ffmpeg-php-0.6.0.tbz2                Linux                                           news-closeup.xsl     s3.jpg
cmslogs                         gmd-latest.sql.tar.bz2               Malware                                         newsletter1.html     sshdallow
epel-release-6-5.noarch.rpm     json-1.2.1                           movies_list.php                                 pollbeta.sql
ffmpeg-php-0.6.0                json-1.2.1.tgz                       my_next_artical_v2.php                          pollbeta.tar.bz2

5 veiksmas: patikrinkite tvirtinimo tašką naudodami komandą df -hT

Jei paleisite komandą df -hT, pamatysite nuotolinį failų sistemos prijungimo tašką.

df -hT
Pavyzdžio išvestis
Filesystem                          Type        Size  Used Avail Use% Mounted on
udev                                devtmpfs    730M     0  730M   0% /dev
tmpfs                               tmpfs       150M  4.9M  145M   4% /run
/dev/sda1                           ext4         31G  5.5G   24G  19% /
tmpfs                               tmpfs       749M  216K  748M   1% /dev/shm
tmpfs                               tmpfs       5.0M  4.0K  5.0M   1% /run/lock
tmpfs                               tmpfs       749M     0  749M   0% /sys/fs/cgroup
tmpfs                               tmpfs       150M   44K  150M   1% /run/user/1000
[email :/home/tecmint fuse.sshfs  324G   55G  253G  18% /mnt/tecmint

Siūlomas skaitymas: 12 naudingų „df“ komandų, skirtų patikrinti vietos diske sistemoje „Linux“

6 veiksmas: Nuotolinės failų sistemos montavimas visam laikui

Norėdami visam laikui prijungti nuotolinę failų sistemą, turite redaguoti failą pavadinimu /etc/fstab. Norėdami tai padaryti, atidarykite failą naudodami mėgstamą redaktorių.

vi /etc/fstab
sudo vi /etc/fstab     [On Debian/Ubuntu based systems]         

Eikite į failo apačią ir pridėkite prie jo šią eilutę, išsaugokite failą ir išeikite. Toliau pateiktame įraše prijungiama nuotolinio serverio failų sistema su numatytaisiais nustatymais.


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0

Įsitikinkite, kad tarp serverių įdiegėte SSH be slaptažodžio prisijungimą, kad automatiškai prijungtumėte failų sistemą sistemos perkrovimo metu.

Jei jūsų serveris sukonfigūruotas naudojant SSH rakto autorizaciją, pridėkite šią eilutę:


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

Tada turite atnaujinti fstab failą, kad atspindėtų pakeitimus.

mount -a
sudo mount -a   [On Debian/Ubuntu based systems]

7 veiksmas: nuotolinės failų sistemos atjungimas

Norėdami atjungti nuotolinę failų sistemą, jun išduokite šią komandą, kuri atjungs nuotolinę failų sistemą.

umount /mnt/tecmint

Kol kas tai viskas. Jei susiduriate su sunkumais arba reikia pagalbos montuojant nuotolinę failų sistemą, susisiekite su mumis komentaruose ir, jei manote, kad šis straipsnis yra labai naudingas, pasidalykite juo su draugais.