Cum se montează sistemul de fișiere sau directorul Linux la distanță folosind SSHFS peste SSH


Scopul principal al scrierii acestui articol este de a oferi un ghid pas cu pas despre cum să montați sistemul de fișiere Linux la distanță folosind clientul SSHFS peste SSH.

Acest articol este util pentru acei utilizatori și administratori de sistem care doresc să monteze un sistem de fișiere la distanță pe sistemele lor locale în orice scop. Am testat practic instalând clientul SSHFS pe unul dintre sistemele noastre Linux și am montat cu succes sistemele de fișiere de la distanță.

Înainte de a continua instalarea, să înțelegem despre SSHFS și cum funcționează.

Ce este SSHFS?

SSHFS înseamnă client (Secure SHell FileSystem) care ne permite să montăm un sistem de fișiere la distanță și să interacționăm cu directoare și fișiere la distanță de pe o mașină locală folosind SSH Protocolul de transfer de fișiere (SFTP).

Lectură sugerată: 10 exemple de comandă sFTP pentru a transfera fișiere pe servere la distanță în Linux

SFTP este un protocol securizat de transfer de fișiere care oferă acces la fișiere, transfer de fișiere și funcții de gestionare a fișierelor prin protocolul Secure Shell. Deoarece SSH folosește criptarea în timp ce transferă fișiere prin rețea de la un computer la altul, iar SSHFS vine cu FUSE (Filesystem in Userspace) încorporat. modul kernel care permite oricăror utilizatori fără privilegii să-și creeze sistemul de fișiere fără a modifica codul kernel-ului.

În acest articol, vă vom arăta cum să instalați și să utilizați clientul SSHFS pe orice distribuție Linux pentru a monta un sistem de fișiere Linux la distanță sau un director pe o mașină Linux locală.

Pasul 1: Instalați clientul SSHFS în sistemele Linux

În mod implicit, pachetele sshfs nu există pe toate distribuțiile Linux majore, trebuie să activați depozitul epel sub sistemele dvs. Linux pentru a instala sshfs cu ajutorul comenzii Yum cu dependențele lor.

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

Pasul 2: Crearea directorului de montare SSHFS

Odată instalat pachetul sshfs, trebuie să creați un director de puncte de montare unde veți monta sistemul de fișiere la distanță. De exemplu, am creat directorul de montare sub /mnt/tecmint.

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

Pasul 3: Montarea sistemului de fișiere la distanță cu SSHFS

După ce ați creat directorul punctului de montare, rulați următoarea comandă ca utilizator root pentru a monta sistemul de fișiere la distanță sub /mnt/tecmint . În cazul tău, directorul de montare ar fi orice.

Următoarea comandă va monta directorul la distanță numit /home/tecmint sub /mnt/tecmint în sistemul local. (Nu uitați să înlocuiți x.x.x.x cu adresa IP și punctul de montare).


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

Dacă serverul dvs. Linux este configurat cu autorizare bazată pe chei SSH, atunci va trebui să specificați calea către cheile publice, așa cum se arată în următoarea comandă.


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]

Pasul 4: Verificarea că sistemul de fișiere la distanță este montat

Dacă ați rulat comanda de mai sus cu succes fără erori, veți vedea lista de fișiere și directoare la distanță montată sub /mnt/tecmint.

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

Pasul 5: Verificarea punctului de montare cu comanda df -hT

Dacă rulați comanda df -hT, veți vedea punctul de montare a sistemului de fișiere la distanță.

df -hT
Ieșire eșantion
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

Lectură recomandată: 12 comenzi „df” utile pentru a verifica spațiul pe disc în Linux

Pasul 6: Montarea permanentă a sistemului de fișiere la distanță

Pentru a monta permanent sistemul de fișiere la distanță, trebuie să editați fișierul numit /etc/fstab. Pentru a face, deschideți fișierul cu editorul preferat.

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

Mergeți în partea de jos a fișierului și adăugați următoarea linie la acesta și salvați fișierul și ieșiți. Intrarea de mai jos montează sistemul de fișiere server la distanță cu setările implicite.


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

Asigurați-vă că aveți SSH Passwordless Login între servere pentru a monta automat sistemul de fișiere în timpul repornirii sistemului.

Dacă serverul dvs. este configurat cu autorizare bazată pe cheie SSH, adăugați această linie:


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

Apoi, trebuie să actualizați fișierul fstab pentru a reflecta modificările.

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

Pasul 7: Demontarea sistemului de fișiere la distanță

Pentru a demonta sistemul de fișiere la distanță, jun lansează următoarea comandă, va demonta sistemul de fișiere la distanță.

umount /mnt/tecmint

Asta este tot deocamdată, dacă întâmpinați dificultăți sau aveți nevoie de ajutor în montarea sistemului de fișiere la distanță, vă rugăm să ne contactați prin comentarii și dacă considerați că acest articol este foarte util, împărtășiți-l prietenilor tăi.