Kako namestiti oddaljeni datotečni sistem Linux ali imenik z uporabo SSHFS prek SSH


Glavni namen pisanja tega članka je pripraviti vodnik po korakih, kako namestiti oddaljeni datotečni sistem Linux z uporabo odjemalca SSHFS prek SSH.

Ta članek je koristen za tiste uporabnike in skrbnike sistema, ki želijo namestiti oddaljeni datotečni sistem v svoje lokalne sisteme za kakršne koli namene. Praktično smo preizkusili z namestitvijo odjemalca SSHFS v enega od naših sistemov Linux in uspešno namestili oddaljene datotečne sisteme.

Preden nadaljujemo z namestitvijo, se pozanimajmo o SSHFS in kako deluje.

Kaj je SSHFS?

SSHFS pomeni odjemalca (Secure SHell FileSystem), ki nam omogoča namestitev oddaljenega datotečnega sistema in interakcijo z oddaljenimi imeniki in datotekami na lokalnem računalniku s protokolom SSH za prenos datotek (SFTP).

SFTP je varen protokol za prenos datotek, ki omogoča dostop do datotek, prenos datotek in funkcije upravljanja datotek prek protokola Secure Shell. Ker SSH uporablja šifriranje med prenosom datotek po omrežju iz enega računalnika v drugega, SSHFS pa ima vgrajen jedrski modul FUSE (datotečni sistem v uporabniškem prostoru), ki vsem neprivilegiranim uporabnikom omogoča, da ustvarijo svoj datotečni sistem brez spreminjanja kode jedra.

V tem članku vam bomo pokazali, kako namestiti in uporabiti odjemalca SSHFS v kateri koli distribuciji Linuxa za namestitev oddaljenega datotečnega sistema Linux ali imenika na lokalni računalnik Linux.

Privzeto paketi sshfs ne obstajajo v vseh večjih distribucijah Linuxa, v svojih sistemih Linux morate omogočiti repozitorij epel za namestitev sshfs s pomočjo ukaza Yum z njihovimi odvisnostmi.

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

Ko je paket sshfs nameščen, morate ustvariti imenik točke pritrditve, kamor boste namestili oddaljeni datotečni sistem. Na primer, pri /mnt/tecmint smo ustvarili direktorij za namestitev.

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

Ko ustvarite svoj imenik točke pritrditve, zaženite naslednji ukaz kot korenski uporabnik za namestitev oddaljenega datotečnega sistema pod /mnt/tecmint . V vašem primeru bi bil imenik za priklop karkoli.

Naslednji ukaz bo namestil oddaljeni imenik z imenom /home/tecmint pod /mnt/tecmint v lokalnem sistemu. (Ne pozabite zamenjati x.x.x.x z naslovom IP in točko pritrditve).

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

Če je vaš strežnik Linux konfiguriran s pooblastilom na osnovi ključa SSH, boste morali določiti pot do svojih javnih ključev, kot je prikazano v naslednjem ukazu.

# 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]

Če ste zgornji ukaz uspešno zagnali brez napak, boste videli seznam oddaljenih datotek in imenikov, nameščenih pod /mnt/tecmint .

# cd /mnt/tecmint
# ls
 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

Če zaženete ukaz df -hT, boste videli oddaljeno točko priklopa datotečnega sistema.

# df -hT
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

Če želite trajno namestiti oddaljeni datotečni sistem, morate urediti datoteko z imenom /etc/fstab . Če želite to narediti, odprite datoteko s svojim najljubšim urejevalnikom.

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

Pojdite na dno datoteke in ji dodajte naslednjo vrstico ter datoteko shranite in zapustite. Spodnji vnos namesti datotečni sistem oddaljenega strežnika s privzetimi nastavitvami.

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

Prepričajte se, da ste med strežniki samodejno namestili datotečni sistem SSH Login brez gesel med strežniki.

Če je vaš strežnik konfiguriran s pooblastilom na osnovi ključa SSH, dodajte to vrstico:

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

Nato morate posodobiti datoteko fstab, da bo odražala spremembe.

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

Če želite odklopiti oddaljeni datotečni sistem, izdajte naslednji ukaz, s katerim bo odstranil oddaljeni datotečni sistem.

# umount /mnt/tecmint

Za zdaj je to vse. Če imate kakršne koli težave ali potrebujete pomoč pri namestitvi oddaljenega datotečnega sistema, se obrnite na nas prek komentarjev in če menite, da je ta članek zelo koristen, ga delite s prijatelji.