How to use SSHFS and fusermount

slackware | Τετ, 04/18/2012 - 17:43 | 6' | 0

Φου φου, 1,2-1,2 τεστ τεστ ακουγομαι καλα???

Λοιπον σημερα θα
δουμε πως μπορουμε να αντιγραψουμε αρχεια απο την διανομη linux που
εχουμε σε καποιο αλλο μηχανημα το οποιο τρεχει ssh server. Αν δεν εχετε
στησει καποιον ssh server ριξτε μια ματια στο
http://linuxinsider.gr/content/how-setup-ssh-server

Ειναι φορες
που θελουμε να κρατησουμε backup σε καποιον απομακρισμενο server, αλλα
δεν εχουμε την δυνατοτητα (λεμε τωρα) να χρησιμοποιησουμε καποιο backup
tool οπως το luckybackup, και ο μονος server που ειναι στημενος ειναι
ενας ssh server, ο οποιος ακουει στην πορτα 2204.

Αυτο σημαινει
οτι δεν μπορουμε να χρησιμοποιησουμε rsync (αφου δεν τρεχει ο
αντιστοιχος daemon), και οι μονες επιλογες ειναι: sftp, scp και sshfs.

Εμεις θα δουμε την τριτη επιλογη την sshfs.

Η sshfs χρησιμοποιει το sshd_config του απομακρισμενου server για να μπορεσει να κανει το connect.
Ας δουμε μια τυπικη συνδεση...

Πρωτα φτιαχνουμε ενα φακελο ~/sshfstmp
στην
συνεχεια θελουμε να δουμε ολο τον προσωπικο φακελο (home directory) του
χρηστη panthro και αυτο το πετυχαινουμε με την παρακατω εντολη....
$sshfs -p 2204 [email protected]:  sshfstmp/
[email protected]'s password:
$ls -l sshfstmp
....
....
-rw-r--r-- 1 gkapel users   98742272 2012-02-17 00:45 Wolf.mpg
drwxr-xr-x 1 gkapel users       4096 2009-02-22 20:16 workspace
-rw-r--r-- 1 gkapel users       2108 2010-01-06 14:45 xorg.conf
-rw-r--r-- 1 gkapel users  462070267 2010-05-22 21:18 xorografies_2010.m4v
-rw-r--r-- 1 gkapel users  214268377 2010-05-16 20:24 xorografies.m4v
drwxr-xr-x 1 gkapel users       4096 2012-01-14 02:04 youtube
drwxr-xr-x 1 gkapel users       4096 2011-11-29 11:22 youtube-downloader
-rw------- 1 gkapel users         18 2011-08-09 00:47 yskapell
ειναι μερικα απο τα αρχεια που εχω στον φακελο μου.

Οπως βλεπετε τα αρχεια εχουν παρει τα δικαιοματα απο τον χρηστη gkapel και οχι του panthro, και ο λογος ειναι οτι ο φακελος συμπεριφερεται σαν να ειναι μερος του συστηματος του τοπικου και οχι καποιου απομακρισμενου.

Στην συνεχεια μπαινω στον φακελο sshfstmp και φτιαχνω ενα αρχειο 0 μεγεθους με την touch

[email protected] ~ $ cd sshfstmp/
[email protected] ~/sshfstmp $ touch testing_sshfs
[email protected] ~/sshfstmp $ ssh -p 2204 [email protected]
[email protected]'s password:
Last login: Wed Apr 18 16:18:13 2012 from athedsl-296046.home.otenet.gr
Linux 3.2.13-smp.
[email protected]:~$ ls -l testing_sshfs
-rw-r--r-- 1 panthro users 0 Απρ  18 17:27 testing_sshfs
[email protected]:~$

αυτο που βλεπουμε ειναι οτι το αρχειο πειρε τα δικαιωματα του απομακρισμενου συστηματος και οχι του τοπικου κατι που το scp, sftp δεν το κανουν.

Ενα αλλο πλεονεκτημα ειναι οτι για την οποιαδηποτε μεταφορα δεν χρειαζεται να ξανακανουμε login και να δωσουμε παλι κωδικο προσβασης.

Για να ελευθεροσουμε τον φακελο (umount) και να κοψουμε την συνδεση δινουμε
$fusermount -u sshfstmp

Για να κανουμε mount συγκεκριμενουν φακελους για παραδειγμα τον φακελο Downloads με τον φακελο sshfstmp δινουμε:
$sshfs -p 2204 [email protected]:/home/panthro/Downloads  sshfstmp/

[email protected]'s password:
$
και φυσικα umount με την fusermount.

Αν θελουμε 2 φακελοι να γινονται mount κατα την εκκινηση θα πρεπει να ενημερωσουμε το fstab οπως παρακατω

[email protected]:/home/panthro/Downloads /media/sshfstesting fuse.sshfs defaults 0 0

και φυσικα το authentication θα πρεπει να γινεται με private/public keys (κλειδια με μια λεξη) διαφορετικα δεν θα ειναι εφικτο το αυτοματοποιημενο mount.

Επισης το module fuse θα πρεπει να φορτονει οποτε σαν root δινουμε modprobe fuse με καποιο script
ειτε τροποποιουμε το αρχειο /etc/modules (αναλογα με την διανομη) για να φορτονει αυτοματα.

Δειτε την man sshfs για περισσοτερα options.
Αν εχετε αποριες πειτε μου, δοκιμαστε και παλι πειτε μου.

ΥΓ.
Δεν πιστευω να σας περασε απο το μυαλο τι θα εδινα δημοσια την πραγματικη ip μου?? Την εχω αλλαξει :D

Δώσε αστέρια!