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.