Úvod:
Pokud chcete připojit adresář na vzdálený server přes internet, může být ochrana NFS docela problém. Dobrým řešením by pak bylo použití SSHFS. Zde je ukázka Howto pro Debian Jessie.
Poznámka: Ve Wheezy a v Jessie, než jsem provedl upgrade na jádro 3.16.0-4-amd64, fungovala následující položka v /etc/fstab:sshfs#[email protected]:/remote_dir /local_dir fuse defaults 0 0
ALE jakmile upgradoval Jessie na jádro 3.16.0-4-amd64, nemohl jsem již zavést a systém přešel do nouzového režimu, což signalizovalo, že mám zadat heslo roota nebo stisknout Ctrl-D pokračovat. Ctrl-D nikam nevedlo a systém prostě spadl. Bylo také navrženo, že bych měl zadat příkaz ‚journalctl -xb‘, abych zjistil, co bylo špatně poté, co jsem zadal heslo root. Tento příkaz mi dal indikaci, že ‚proces /bin/plymouth nelze provést‘. Zpráva je docela zavádějící, protože chyba byla v tom, že nové jádro již nepodporuje výše uvedenou starší metodu připojení souborového systému pomocí SSHFS v /etc/fstab. Zakomentování tohoto záznamu v /etc/fstab mi umožnilo zavést a později změnit záznam na nový, který funguje, což následuje.
Nejprve nainstalujte potřebný balíček:apt-get install sshfs
Pak zvážíme dva scénáře:
1 – Uživatelské připojení:Připojení vzdáleného adresáře patřícího k uživatelskému „médiu“ pomocí SSHFS a klíčů ssh. Uživatelské „médium“ bylo na obou serverech nakonfigurováno tak, aby mělo stejné UID.
2 – Root mount:Připojení vzdáleného adresáře patřícího rootovi pomocí SSHFS a klíčů ssh.
Scénář 1:(připojení uživatele)
Na vzdáleném serveru spusťte příkaz: useradd -d /home/media/ -u 2017 -s /bin/bash media
passwd media (give any password, that will need to be deleted later anyway)
mkdir -p /home/media/share1
chown -R media: /home/media/share1
Na místním serveru spusťte příkazy: useradd -d /home/media/ -u 2017 -s /bin/bash media
mkdir -p /home/media/share1
chown -R media: /home/media/share1
su - media
ssh-keygen -t rsa (press <Enter> to all questions)
ssh-copy-id [email protected] (enter media user's temporary password of remote server)
Zadejte /etc/fstab :[email protected]:/home/media/share1 /home/media/share1 fuse.sshfs noauto,x-systemd.automount,_netdev,user,idmap=user,follow_symlinks,identityfile=/home/media/.ssh/id_rsa,allow_other,default_permissions,uid=2017,gid=2017 0 0
Zpět na vzdáleném serveru deaktivujte heslo uživatele pomocí příkazu: passwd -l media
———- Konec scénáře 1 ———–
Scénář 2 (připojení root)
ssh-copy-id [email protected] (enter 'root' password of remote server)
Zadejte /etc/fstab :[email protected]:/share2 /share2 fuse.sshfs noauto,x-systemd.automount,_netdev,user,idmap=user,follow_symlinks,identityfile=/root/.ssh/id_rsa,allow_other,default_permissions,uid=0,gid=0 0 0
———- Ukončete scénář 2 ———–
Potom restartujte systém reboot
Po restartu neuvidíte ještě žádný záznam o připojení, pokud zadáte příkaz „mount“. Zobrazí se pouze po prvním pokusu o přístup k bodu připojení na místním serveru. Toto připojení se řídí systemd. Připojování a odpojování této nové metody nemůžete zcela ručně ovládat, protože je řízeno systémem systemd. Stále hledám způsoby, jak ručně připojit/odpojit tento systémem řízený držák. Jakékoli návrhy jsou vítány.