Zoeken op website

Hoe u een extern Linux-bestandssysteem of map kunt koppelen met SSHFS via SSH


Het voornaamste doel van het schrijven van dit artikel is het bieden van een stapsgewijze handleiding voor het aankoppelen van een extern Linux-bestandssysteem met behulp van de SSHFS-client via SSH.

Dit artikel is nuttig voor gebruikers en systeembeheerders die voor welke doeleinden dan ook een extern bestandssysteem op hun lokale systemen willen koppelen. We hebben het in de praktijk getest door de SSHFS-client op een van onze Linux-systemen te installeren en met succes externe bestandssystemen te koppelen.

Voordat we verder gaan met de installatie, moeten we eerst begrijpen wat SSHFS is en hoe het werkt.

Wat is SSHFS?

SSHFS staat voor (Secure SHell FileSystem) client waarmee we een extern bestandssysteem kunnen koppelen en kunnen communiceren met externe mappen en bestanden op een lokale machine met behulp van SSH Protocol voor bestandsoverdracht (SFTP).

Voorgesteld lezen: 10 voorbeelden van sFTP-opdrachten om bestanden over te dragen op externe servers in Linux

SFTP is een beveiligd protocol voor bestandsoverdracht dat functies voor bestandstoegang, bestandsoverdracht en bestandsbeheer biedt via het Secure Shell-protocol. Omdat SSH codering gebruikt bij het overbrengen van bestanden via het netwerk van de ene computer naar een andere computer en SSHFS wordt geleverd met ingebouwde FUSE (Bestandssysteem in gebruikersruimte) kernelmodule waarmee niet-bevoorrechte gebruikers hun bestandssysteem kunnen creëren zonder de kernelcode te wijzigen.

In dit artikel laten we u zien hoe u de SSHFS-client op elke Linux-distributie installeert en gebruikt om een extern Linux-bestandssysteem of -map op een lokale Linux-machine te mounten.

Stap 1: Installeer SSHFS Client in Linux-systemen

Standaard bestaan sshfs-pakketten niet op alle grote Linux-distributies. Je moet de epel-repository onder je Linux-systemen inschakelen om sshfs te installeren met behulp van de Yum-opdracht met hun afhankelijkheden.

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

Stap 2: SSHFS-mountmap maken

Zodra het sshfs-pakket is geïnstalleerd, moet u een mountpoint-map maken waar u uw externe bestandssysteem kunt mounten. We hebben bijvoorbeeld de mount-map gemaakt onder /mnt/tecmint.

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

Stap 3: Extern bestandssysteem koppelen met SSHFS

Nadat u uw mountpoint-map heeft gemaakt, voert u nu de volgende opdracht uit als root-gebruiker om het externe bestandssysteem te koppelen onder /mnt/tecmint . In jouw geval zou de mount-map alles zijn.

Met het volgende commando wordt de externe map met de naam /home/tecmint onder /mnt/tecmint in het lokale systeem geactiveerd. (Vergeet niet x.x.x.x te vervangen door uw IP-adres en koppelpunt).


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

Als uw Linux-server is geconfigureerd met autorisatie op basis van SSH-sleutels, moet u het pad naar uw openbare sleutels opgeven, zoals weergegeven in de volgende opdracht.


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]

Stap 4: Controleren of het externe bestandssysteem is aangekoppeld

Als u de bovenstaande opdracht zonder fouten hebt uitgevoerd, ziet u de lijst met externe bestanden en mappen die zijn aangekoppeld onder /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

Stap 5: Mount Point controleren met df -hT Commando

Als u de opdracht df -hT uitvoert, ziet u het koppelpunt van het externe bestandssysteem.

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

Voorgesteld lezen: 12 nuttige “df”-opdrachten om schijfruimte in Linux te controleren

Stap 6: Extern bestandssysteem permanent koppelen

Om het externe bestandssysteem permanent te koppelen, moet u het bestand met de naam /etc/fstab bewerken. Open hiervoor het bestand met uw favoriete editor.

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

Ga naar de onderkant van het bestand en voeg de volgende regel eraan toe, sla het bestand op en sluit af. Het onderstaande item mount extern serverbestandssysteem met standaardinstellingen.


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

Zorg ervoor dat u SSH-wachtwoordloze aanmelding tussen servers hebt ingesteld om het bestandssysteem automatisch te koppelen tijdens het opnieuw opstarten van het systeem.

Als uw server is geconfigureerd met autorisatie op basis van SSH-sleutels, voegt u deze regel toe:


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

Vervolgens moet u het fstab-bestand bijwerken om de wijzigingen weer te geven.

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

Stap 7: Het externe bestandssysteem ontkoppelen

Om het externe bestandssysteem te ontkoppelen, geeft u de volgende opdracht uit, waardoor het externe bestandssysteem wordt ontkoppeld.

umount /mnt/tecmint

Dat is alles voor nu. Als u problemen ondervindt of hulp nodig heeft bij het installeren van een extern bestandssysteem, neem dan contact met ons op via opmerkingen en als u denkt dat dit artikel erg nuttig is, deel het dan met uw vrienden.