Mount netwerkmappen met SSHFS in je thuisnetwerk
Geplaatst: Vr 09 Apr 2021, 19:06
Als je SSH heb geïnstalleerd op een computer in je thuisnetwerk en op de clients passwordless login hebt gerealiseerd is het nog maar een paar stapjes om mappen van de server op de client mounten.
Het is minder werk dan NFS en je hebt een versleutelde verbinding in tegenstelling tot NFS wat niet versleuteld is. Door de encryptie is de overdrachtsnelheid wel wat lager. Op mijn eigen netwerk haal ik ongeveer 80-100MB/s met SFTP en met FTP om ik tot ruim 115MB/s, maar daar zit ik ook wel eens rond de 70 of 80MB/s. Ik snap eigenlijk niet goed waardoor FTP ook lager kan zijn.
Ik heb de snelheid van NFS nog niet geprobeerd omdat ik mounten via SSH eigenlijk prettiger vind.
Snelheid is belangrijk, maar gebruiksgemak in dagelijks gebruik is ook belangrijk. Als je de mappen van de server kunt benaderen alsof het een extra schijf is op je eigen computer is dat heel gemakkelijk.
Als je echt regelmatig veel en grote bestanden overzet zoals foto's en video's wordt snelheid belangrijker. Dan kun je beter FTP gebruiken. Mobiele apparaten zoals smartphones hebben ook niet de mogelijkheid om mappen te mounten, maar verbinden via FTP of SFTP kunnen ze meestal wel.
Daarom moet je eigenlijk meerdere verbindingen hebben tussen je computers zodat je voor elke toepassing de beste verbinding kunt selecteren.
-------------------------------------------------------------------------------------------------------------------------------------------
Voor het mounten van mappen op een client hoef je op de server niets te doen. Op de client moet je SSHFS installeren en dat kun je gewoon via Programmabeheer doen. Als je persé via de terminal wil werken kun je het installeren met
sudo apt install sshfs
Vervolgens moet je een mount point op de client computer maken. Dat is de map waar de map van de server aan verbonden wordt.
Als de ssh server bijvoorbeeld popeye heet kun je in de home directory een map popeye maken.
Dat kun je in een terminal doen met
mkdir popeye
maar je kan ook gewoon in je bestandsbeheerder Nemo blijven en daar de map aanmaken.
Let er op dat je zelf de eigenaar bent van die map en niet root. Anders kun je er straks niet bij.
Daarna kun je bijvoorbeeld de hele werkmap die je op de server hebt mounten op de client. En daar heb je wél de terminal voor nodig. Dat doe je met
sshfs mogenblue@popeye:/home/mogenblue /home/popeye
Voor mogenblue moet je dan je eigen username gebruiken. En voor popeye de naam van je eigen ssh server.
Dat is em. Meer is het niet. Je kunt de verbinding in een terminal controleren met
findmnt /home/popeye
Maar het is natuurlijk logischer om in je bestandsbeheerder te kijken of er iets te vinden is.
findmnt hebben we toch wel nodig omdat je in een script moet kunnen controleren of de verbinding nog actief is. Anders moet die worden hersteld.
SSH verbreekt namelijk na verloop van tijd de verbinding dus dan moet je die opnieuw tot stand brengen. Dat is natuurlijk niet iets wat je iedere keer met de hand wil doen. Daarom geef ik verderop een paar scripts waarmee dat automatisch wordt geregeld.
Het is minder werk dan NFS en je hebt een versleutelde verbinding in tegenstelling tot NFS wat niet versleuteld is. Door de encryptie is de overdrachtsnelheid wel wat lager. Op mijn eigen netwerk haal ik ongeveer 80-100MB/s met SFTP en met FTP om ik tot ruim 115MB/s, maar daar zit ik ook wel eens rond de 70 of 80MB/s. Ik snap eigenlijk niet goed waardoor FTP ook lager kan zijn.
Ik heb de snelheid van NFS nog niet geprobeerd omdat ik mounten via SSH eigenlijk prettiger vind.
Snelheid is belangrijk, maar gebruiksgemak in dagelijks gebruik is ook belangrijk. Als je de mappen van de server kunt benaderen alsof het een extra schijf is op je eigen computer is dat heel gemakkelijk.
Als je echt regelmatig veel en grote bestanden overzet zoals foto's en video's wordt snelheid belangrijker. Dan kun je beter FTP gebruiken. Mobiele apparaten zoals smartphones hebben ook niet de mogelijkheid om mappen te mounten, maar verbinden via FTP of SFTP kunnen ze meestal wel.
Daarom moet je eigenlijk meerdere verbindingen hebben tussen je computers zodat je voor elke toepassing de beste verbinding kunt selecteren.
-------------------------------------------------------------------------------------------------------------------------------------------
Voor het mounten van mappen op een client hoef je op de server niets te doen. Op de client moet je SSHFS installeren en dat kun je gewoon via Programmabeheer doen. Als je persé via de terminal wil werken kun je het installeren met
sudo apt install sshfs
Vervolgens moet je een mount point op de client computer maken. Dat is de map waar de map van de server aan verbonden wordt.
Als de ssh server bijvoorbeeld popeye heet kun je in de home directory een map popeye maken.
Dat kun je in een terminal doen met
mkdir popeye
maar je kan ook gewoon in je bestandsbeheerder Nemo blijven en daar de map aanmaken.
Let er op dat je zelf de eigenaar bent van die map en niet root. Anders kun je er straks niet bij.
Daarna kun je bijvoorbeeld de hele werkmap die je op de server hebt mounten op de client. En daar heb je wél de terminal voor nodig. Dat doe je met
sshfs mogenblue@popeye:/home/mogenblue /home/popeye
Voor mogenblue moet je dan je eigen username gebruiken. En voor popeye de naam van je eigen ssh server.
Dat is em. Meer is het niet. Je kunt de verbinding in een terminal controleren met
findmnt /home/popeye
Maar het is natuurlijk logischer om in je bestandsbeheerder te kijken of er iets te vinden is.
findmnt hebben we toch wel nodig omdat je in een script moet kunnen controleren of de verbinding nog actief is. Anders moet die worden hersteld.
SSH verbreekt namelijk na verloop van tijd de verbinding dus dan moet je die opnieuw tot stand brengen. Dat is natuurlijk niet iets wat je iedere keer met de hand wil doen. Daarom geef ik verderop een paar scripts waarmee dat automatisch wordt geregeld.