SSHFS
- Add instructions for using SSHFS with more desktop environments.
- Extra details would help.
SSHFS ( SSH F ile S ystem) egy biztonságos shell kliens, amelyet távoli fájlrendszerek helyi számítógépekre történő csatolására használnak. Az SSHFS a Filesystem in Userspace (FUSE) segítségével csatolja a fájlrendszereket egy könnyen elérhető helyre a felhasználók számára, és a fájlokhoz a SFTP protokollon keresztül fér hozzá.
Telepítés
Kernel
Mivel az SSHFS a FUSE-t használja, azt engedélyezni kell a kernelben.
File systems --->
[*] FUSE (Filesystem in Userspace) support
Amikor egy beépített (nem moduláris) funkciót vagy illesztőprogramot engedélyez a kernelben, ne feledje, hogy újbóli forráskódfordításra lesz szükség, és az újonnan lefordított kernelképfájlt be kell tölteni a memóriába (számítógép újraindítás), mielőtt a módosítások életbe lépnek. Ezt a lépést mielőtt továbblépne a cikk más szakaszaira, be kell fejezni.
USE jelölőzászlók
Jelenleg nincs elérhető USE jelölőzászló az SSHFS-hez.
Emerge
Használja az emerge parancsot, hogy megkérje Portage szoftvercsomag-kezelőt a net-fs/sshfs telepítésére.
root
#
emerge --ask net-fs/sshfs
Beállítás
Ha már alapból működik, akkor ezt a részt nem szükséges alkalmazni.
Lehet, hogy a jogosultságokat be kell állítani, vagy a felcsatolás során előfordulhat a "fuse: failed to open /dev/fuse: Permission denied" hiba. Jobb, ha erre a szakaszra csak szükség esetén tér vissza.
Ha a fenti hiba előfordul, akkor először hozzon létre egy csoportot azok számára, akik használhatják az SSHFS-t, majd adja hozzá a csoporthoz azokat a felhasználói fiókokat, amelyek használni fogják.
root
#
groupadd crypto
root
#
usermod -aG crypto $USERNAME
Ha szükséges, akkor a felhasználót ki kell jelentkeztetni, majd újra be kell jelentkeztetni az új csoport jogosultságok alkalmazásához.
Most hozza létre az /etc/udev/rules.d/60-fuse.rules fájlt, és adja hozzá a következő tartalmat:
/etc/udev/rules.d/60-fuse.rules
KERNEL=="fuse", NAME="%k", MODE="0666", GROUP="crypto"
Töltse be újra a
fuse
kernelmodult, hogy a módosítások érvénybe lépjenek:
root
#
modprobe -r fuse
root
#
modprobe fuse
root
#
ls -l /dev/fuse
crw-rw-rw- 1 root crypto 10, 229 Nov 8 22:29 /dev/fuse
Használat
Csatolás
Ahhoz, hogy az SSHFS-t használni lehessen, egy SSH szolgáltatásnak kell futnia a távoli számítógépen, az sftp alrendszert esetleg aktiválni kell, és legalább egy felhasználónak be kell lennie állítva, hogy SSH-n keresztül hozzáférjen a számítógéphez.
Ahhoz, hogy egy távoli fájlrendszert helyileg lehessen felcsatolni a fájlrendszerbe, megfelelő hitelesítő adatokra lesz szükség. Ha a parancssorban nincs megadva felhasználónév, akkor alapértelmezés szerint az aktuális felhasználónév kerül használatra. Például, ha az orbanviktor felhasználó jelenleg az aktív felhasználó az operációs rendszeren, és ezt a parancsot futtatják:
orbanviktor@example $
sshfs remotehost:/home/orbanviktor ~/remote_mount
Az orbanviktor felhasználónév elküldésre kerül a távoli operációs rendszernek, így szükség lesz az orbanviktor nevű távoli felhasználói fiókhoz tartozó hitelesítő adatokra. Miután megadja orbanviktor jelszavát, ez a parancs a orbanviktor felhasználó távoli saját könyvtárát csatolja a helyi számítógépen található ~/remote_mount könyvtárhoz. Az előző parancs ekvivalens ezzel a paranccsal:
orbanviktor@example $
sshfs orbanviktor@remotehost:/home/orbanviktor ~/remote_mount
A felhasználó megváltoztatásához írja a felhasználó nevét az IP-cím vagy a tartománynév elé. Például, ha a távoli operációs rendszerbe a root felhasználónévvel és jelszóval szeretne bejelentkezni, akkor használja a következő parancsot:
user
$
sshfs root@remotehost:remotehost:/ ~/remote_mount
A root hozzáférést engedélyezni kell a szerveren ehhez.
Sudo
Ha egy felhasználó képes sudo parancsot futtatni a távoli host számítógépen egy másik felhasználóra váltva, akkor lehetséges lehet fájlok elérése azon a távoli host számítógépen az adott felhasználóként (ha a sudo parancs használata nem igényel jelszót). Például, ha egy felhasználó képes su paranccsal root jogosultságra váltani a távoli host számítógépen jelszó megadása nélkül, akkor csatolja fel az alábbi módon:
user
$
sshfs -o sftp_server="/usr/bin/sudo /usr/lib64/misc/sftp-server" orbanviktor@remotehost:/útvonal/a/távoli/rendszerhez /útvonal/a/helyi/sshfs/csatoláshoz
Ezek az elérési utak egy alapértelmezett Gentoo telepítés esetén érvényesek a távoli host számítógépen, azonban ha a szerver más disztribúciót futtat, akkor módosítani kell őket.
Ez nem feltétlenül biztonságos módja a szerver elérésének, ezért ajánlott az óvatosság.
Lecsatolás
Egy SSHFS-sel felcsatolt könyvtár leválasztásához használja a
fusermount
parancsot a
-u
opcióval:
orbanviktor@example $
fusermount -u /path/to/local/sshfs/mount
Engedélyeken alapuló beállítások
Ahhoz, hogy olvasási/írási hozzáférés legyen egy felcsatolt távoli könyvtárhoz, az allow_other és/vagy allow_root opciók lehetnek szükségesek, attól függően, hogy a felhasználó root vagy normál felhasználó. Egyszerűen engedélyezze az alábbi módon (root esetén cserélje le az allow_other opciót allow_root opcióra).
orbanviktor@example $
sshfs -o allow_other orbanviktor@remotehost:/útvonal/a/távoli/könyvtárhoz /útvonal/a/helyi/sshfs/csatolási_ponthoz
Alternatívaként a uid, gid és umask opciók is használhatók a jogosultságok finomhangolására. Több opció egyidejű beállításakor egyetlen -o után szóközzel elválasztott listát használjon.
-o umask=M
Fájl jogosultságainak a beállítása (oktális formában).
-o uid=N
Fájl tulajdonosának a beállítása.
-o gid=N
Fájl csoportjának a beállítása.
Ezen opciók használata esetén hibaüzenet jelenhet meg: "fusermount3: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf" . Ebben az esetben egyszerűen kommentelje ki a "user_allow_other" sort az adott fájlban, majd próbálja újra.
Kapcsolat automatizálása
Azoknál a távoli fájlrendszereknél, amelyeket gyakran kell felcsatolni, a bejelentkezési folyamat automatizálható. Az automatizálás elérhető egy nyilvános/magán SSH kulcspár használatával, amelyet egy meghatározott eseményhez (például felhasználói bejelentkezéshez vagy bootoláshoz) társított mechanizmus segítségével lehet felcsatolni.
Az első lépés az SSH kulcspár beállítása a helyi és távoli gépeken. További utasításokért látogassa meg a Jelszó nélküli hitelesítés szekcióját az SSH cikkben az SSH kulcspár beállításához. Ha végzett, akkor térjen vissza ehhez a cikkhez.
Miután a kulcspár létre lett hozva és megfelelően be lett állítva, határozza meg, milyen esemény indítja el automatikusan a kapcsolatot. Gyakori, hogy egy rendszer felhasználói bejelentkezéskor vagy rendszerindításkor próbálja meg távolról felcsatolni a fájlrendszert. A sshfs csatolás kezelése attól függ, hogy a felhasználó milyen szoftvert alkalmaz a helyi környezetben. Többféle mód van ennek a feladatnak a kezelésére.
fstab
Az sshfs használható egy operációs rendszer /etc/fstab fájljában. Ez lehetővé teszi, hogy a hálózaton keresztül elérhető fájlrendszereket helyi fájlrendszer-csatolásként lehessen kezelni. Az sshfs fájlrendszerekhez kissé eltérő csatolási opciók szükségesek, ezért érdemes átnézni a man súgóoldalt, hogy az opciók megfelelőek legyenek minden esetben. Egy példa az sshfs használatára az fstab fájlban:
/etc/fstab
Az sshfs hozzáadása az fstab fájlhoz
# Automatically mount ~/Music on connection
sshfs#SERVER_USER@remotehost:/SOURCEDIR /home/USER/Music fuse user,_netdev,idmap=user,transform_symlinks,identityfile=/home/USER/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1000 0 0
Login shell-ek
A legtöbb shell támogatja a parancsok végrehajtását a felhasználói bejelentkezéskor vagy kijelentkezéskor. Ez a szekció példákat mutat be arra, hogy miként lehet automatizálni a kapcsolatot beépített shell-szkript segítségével.
Mielőtt folytatná, szükséges meghatározni, hogy melyik shell van használatban. Futtassa az alábbi parancsot az érintett felhasználóként, hogy kiderítse, vajon melyik shell van használatban:
user
$
echo $SHELL
Lehetséges kimenet:
- /bin/bash a bash számára.
- /bin/sh az sh számára.
- /bin/tcsh a tcsh és ( csh ) számára.
- /bin/zsh a zsh számára.
További információért az elérhető shellekről tekintse meg a Shell cikket.
Bash
Bash shell használata esetén hozzon létre egy ~/.bash_login és egy ~/.bash_logout fájlt a felhasználó saját könyvtárában, és adja hozzá az sshfs parancsot a fájlhoz.
user
$
touch ~/.bash_login ~/.bash_logout
Felcsatolás a shell bejelentkezéskor:
~/.bash_login
SSHFS csatolás hozzáadása a bash bejelentkezési shellhez
# Hozzáadva a távoli könyvtár csatolásához a felhasználói bejelentkezéskor.
sshfs orbanviktor@remotehost:/útvonal/a/távoli/könyvtárhoz /útvonal/a/helyi/sshfs/csatolási_ponthoz
"Leválasztás a shell kijelentkezéskor"
~/.bash_logout
SSHFS leválasztás hozzáadása a bash kijelentkezési shellhez
# Hozzáadva a távoli könyvtár leválasztásához felhasználói kijelentkezéskor.
fusermount -u /útvonal/a/helyi/sshfs/csatolási_ponthoz
Sh
user
$
touch ~/.profile
~/.profile
SSHFS csatolás hozzáadása az sh bejelentkezési shellhez
# Hozzáadva a távoli könyvtár csatolásához felhasználói bejelentkezéskor.
sshfs orbanviktor@remotehost:/útvonal/a/távoli/könyvtárhoz /útvonal/a/helyi/sshfs/csatolási_ponthoz
Zsh
user
$
touch ~/.zlogin
~/.zlogin
SSHFS csatolás hozzáadása a zsh bejelentkezési shellhez
# Hozzáadva a távoli könyvtár csatolásához a felhasználói bejelentkezéskor.
sshfs orbanviktor@remotehost:/útvonal/a/távoli/könyvtárhoz /útvonal/a/helyi/sshfs/csatolási_ponthoz
Tcsh (Csh)
user
$
touch ~/.login
~/.login
SSHFS csatolás hozzáadása a tcsh vagy csh bejelentkezési shellhez
# Hozzáadva a távoli könyvtár csatolásához a felhasználói bejelentkezéskor.
sshfs orbanviktor@remotehost:/útvonal/a/távoli/könyvtárhoz /útvonal/a/helyi/sshfs/csatolási_ponthoz
Asztali környezetek
A legtöbb asztali környezet tartalmaz módszereket a szoftverek automatikus elindítására.
Openbox
Az Openbox az egyes felhasználók saját könyvtárában található autostart fájlt használja.
~/.config/openbox/autostart
SSHFS csatolás hozzáadása az Openbox autostart fájlhoz
# Hozzáadva a távoli könyvtár csatolásához felhasználói bejelentkezéskor.
sshfs orbanviktor@remotehost:/útvonal/a/távoli/könyvtárhoz /útvonal/a/helyi/sshfs/csatolási_ponthoz &
Fontos, hogy az Openbox autostart fájljában kiadott parancsok végén szerepeljen a
&
(ésjel).
További olvasnivaló a témában
- CurlFtpFS — allows for mounting an FTP folder as a regular directory to the local directory tree.
- SCP — an interactive file transfer program, similar to the copy command, that copies files over an encrypted SSH transport.
- SSH — a mindenütt jelen lévő eszköz a távoli számítógépekre való biztonságos bejelentkezéshez és az azokon való munkavégzéshez.
- SFTP — an interactive file transfer program, similar to FTP , which performs all operations over an encrypted SSH transport.