Με το sshfs θα αντιστοιχίσετε έναν δίσκο δικτύου για να έχετε πρόσβαση στο δίσκο από τον file manager του Linux, σε τοπικό φάκελο, χωρίς να χρειάζεται να τον αναζητάτε ή να πληκτρολογείτε κάθε φορά τη διεύθυνση δικτύου του.

Η χρήση του sshfs είναι ιδιαίτερα βολική, μιας και η απομακρυσμένη πρόσβαση σε κάποιον server μας γίνεται συνήθως με ssh. Με την ίδια λογική είχαμε χρησιμοποιήσει το ssh στον οδηγό Πως να χρησιμοποιήσετε το FileZilla για μεταφορά αρχείων σε Server.

Άρα χρησιμοποιούμε μια υφιστάμενη υποδομή, το ssh και δεν χρειάζεται να κάνουμε εγκατάσταση κάποια άλλη υπηρεσία στον server για να μας δίνει πρόσβαση στα αρχεία του όπως π.χ. είδαμε στο Κοινόχρηστος φάκελος υπολογιστή για κοινή χρήση αρχείων στο Linux.

Πέρα από την απλή μεταφορά, αντιγραφή αρχείων από και προς τον server είναι ιδιαιτέρα, χρήσιμο όταν θέλουμε να υπάρχει μόνιμή αντιστοίχιση του δίσκου δικτύου για να μεταφέρουμε με αυτόματο τρόπο τα backup μας όπως είδαμε στον οδηγό Vorta Borg | Αυτόματο backup αρχείων σε εξωτερικό δίσκο και δικτυακό δίσκο.

Advertisements

Εγκατάσταση και ρύθμιση του sshfs

Το sshfs παρέχει ένα Fuse based σύστημα αρχείων το οποίο χρησιμοποιούμε από τερματικά (υπολογιστές).

Η βασική μορφή χρήσης του είναι:

sshfs onomaxristi@server:/fakelos/server /topikos/fakelos

Για να το χρησιμοποιήσουμε θα πρέπει να το εγκαταστήσουμε από το αποθετήριο της διανομής μας. Κάντε μια αναζήτηση για πακέτο sshfs και κάντε το εγκατάσταση.

Προετοιμασία της σύνδεσης με ssh

Το δεύτερο που θα χρειαστούμε είναι ένα κλειδί ssh για να μην μας ζητάει password κατά την σύνδεση. Αν έχετε ακολουθήσει τον οδηγό 10 απλά βήματα για ένα ασφαλές SSH θα έχετε δημιουργήσει μια ασφαλής σύνδεση όπως παρακάτω:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_sshfs -C "sshfs αυτόματη προσάρτηση"

έπειτα αντιγράφουμε το κλειδί:

sh-copy-id -i ~/.ssh/id_ed25519_sshfs.pub onomaxristi@server

Προετοιμασία της αντιστοίχησης δίσκου δικτύου

Ας φτιάξουμε έναν φάκελο στον home :

mkdir UbuntuRPi

αυτός ο φάκελος θα είναι το σημείο προσάρτησης – αντιστοίχησης του δικτυακού δίσκου. Έπειτα δοκιμάζουμε να συνδέσουμε τον δίσκο του δικτύου στον φάκελο που μόλις φτιάξαμε

sshfs onomaxristi@server:/home/onomaxristi/ /home/salih/UbuntuRPi

Αν όλα πήγανε καλά θα έχουμε ένα φάκελο στον file browser μας

Αντιστοίχιση δίσκου δικτύου σε τοπικό φάκελο του Linux υπολογιστή μας

Πριν προχωρήσουμε, αποσυνδέουμε τον δίσκο πατώντας στο κουμπί αποσύνδεσης ή τρέχουμε :

fusermount3 -u /home/salih/UbuntuRPi
Advertisements

Αυτόματη αντιστοίχηση δίσκου δικτύου κατά την εκκίνηση του συστήματος

Πάμε τώρα να το αυτοματοποιήσουμε. Ανοίγουμε το fstab αρχείο με το αγαπημένο μας VIM editor

sudo vim /etc/fstab

Εκεί, στο τέλος δημιουργούμε μια εγγραφή όπως παρακάτω,

onomaxristi@server:/home/onomaxristi/ /home/salih/UbuntuRPi fuse.sshfs x-systemd.automount,users,idmap=user,IdentityFile=/home/salih/.ssh/id_ed25519_sshfs,allow_other,_netdev,reconnect 0 0

Τι λέμε με το παραπάνω:

  • onomaxristi@server:/home/onomaxristi/ /home/salih/UbuntuRPi: είναι η προέλευση και ο προορισμός της αντιστοίχησης που κάναμε και πιο πριν
  • fuse.sshfs: Τύπος συστήματος αρχείων
  • x-systemd.automount: να χρησιμοποιηθεί το systemd automount
  • users: να επιτρέπουμε σε κάθε χρήστη του pc μας να προσαρτά και να αποπροσαρτά τον δίσκο του δικτύου
  • idmap=user: να γίνεται μετάφραση μόνο τα UID του συνδεδεμένου χρήστη
  • IdentityFile=/home/salih/.ssh/id_ed25519_sshfs: είναι το κλειδί που φτιάξαμε για είσοδο στον server
  • allow_other: να επιτρέπεται η πρόσβαση σε όλους τους χρήστες του υπολογιστή μας
  • _netdev: το σύστημα αρχείων είναι απομακρυσμένο και άρα με αυτή την δήλωση περιμένουμε πρώτα την επιτυχή σύνδεση του δικτύου μας
  • reconnect: επανασύνδεση

Αποθηκεύουμε και κλείνουμε το αρχείο. Έπειτα ενημερώνουμε το σύστημά μας για τις αλλαγές:

sudo systemctl daemon-reload

Αν όλα πήγανε καλά θα έχουμε πάλι επιτυχής αντιστοίχηση. Μπορούμε να δούμε τα μηνύματα αντιστοίχησης μέσω του systemctl όπως μάθαμε στον οδηγό Διαχείριση του συστήματος σας με τη χρήση του systemd. Βρίσκουμε το systemd unit που διαχειρίζεται την αντιστοίχηση:

sudo systemctl list-unit-files --type automount

UNIT FILE                         STATE     VENDOR PRESET
home-salih-UbuntuRPi.automount    generated -                   

1 unit files listed.

Βλέπουμε το systemd ότι έχει φτιάξει το unit home-salih-UbuntuRPi.automount το οποίο μπορούμε να παρακολουθήσουμε με :

sudo systemctl status home-salih-UbuntuRPi.mount 

Μπορούμε να κάνουμε μια επανεκκίνηση του υπολογιστή μας και να δούμε ότι η σύνδεση του απομακρυσμένου δίσκου έγινε επιτυχώς.

Παραπομπές: