GNU/Linux >> Znalost Linux >  >> Linux

Jak používat připojení SSHFS se vzdálenými adresáři přes SSH

Práce na vzdáleném adresáři, jako by to byl místní, je pohodlnější, souhlasíte? Co kdybyste mohli tyto soubory spravovat přímo, místo vzdáleného odesílání a stahování souborů pomocí SCP, SFTP nebo FTP? Naštěstí pro vás je držák SSHFS rychlým řešením tohoto dilematu.

Tento tutoriál vás naučí, jak používat připojení SSHFS, abyste měli přístup k obsahu vzdáleného adresáře na vašem místním počítači. Ať už používáte Windows nebo Linux, tento výukový program vám pomůže.

Konkrétní příklad použití v tomto kurzu ukazuje aktualizaci obsahu webu v adresáři připojeném SSHFS vzdáleného serveru. Obecný koncept by však měl platit pro vaši konkrétní situaci a není omezen pouze na webové servery.

Předpoklady

Tento tutoriál bude praktickou ukázkou. Pokud je chcete sledovat, ujistěte se, že máte následující:

  • Linuxový webový server – Tento výukový program bude používat Fedora 35 s názvem wbserver s nainstalovaným Apache HTTP Serverem. Tento server obsahuje vzdálený adresář, který bude cílem připojení SSHFS.
  • Linuxový klient – ​​Tento výukový program bude používat klienta Fedory 35 s názvem fedora .
  • Klient Windows (Windows 7 a vyšší) – Tento výukový program používá klienta Windows 10 s názvem win10pc .

Příprava vzdáleného adresáře

Tento tutoriál bude pracovat na vzdáleném adresáři na wbserver server s názvem /var/www/html . Ve výchozím nastavení má k této složce přístup pouze účet root. Protože nebudete používat kořenový účet serveru, musíte místo toho udělit určenému uživatelskému účtu oprávnění k adresáři.

V tomto příkladu je určený uživatelský účet pro připojení a přístup k připojení SSHFS adm1 . Podle níže uvedených kroků dejte adm1 správná oprávnění k /var/www/html na wbserver .

1. Přihlaste se do wbserver pomocí preferovaného klienta SSH.

2. Dále spusťte níže uvedený příkaz a udělte uživateli adm1 plný přístup (rwx) ke složce /var/www/html.

sudo setfacl -m u:adm1:rwx /var/www/html

3. Nakonec potvrďte správnost oprávnění spuštěním příkazu níže.

sudo getfacl -a /var/www/html

Jak můžete vidět níže, adm1 má nyní přístup pro čtení/zápis do složky.

Použití připojení SSHFS v systému Linux

SSHFS je primárně linuxový nástroj a k připojení vzdáleného adresáře k vašemu počítači stačí zadat několik příkazů. Instalace balíčků pro povolení připojení SSHFS je stejně pohodlná jako instalace jiných balíčků v Linuxu prostřednictvím správce balíčků vašeho distribuce.

Instalace SSHFS a připojení vzdáleného adresáře

Při instalaci balíčku pro připojení SSHFS a připojení vzdáleného adresáře k místní cestě postupujte podle níže uvedených kroků.

1. Přihlaste se ke svému linuxovému klientovi přes SSH nebo Desktop, v závislosti na vašem prostředí.

2. Spusťte následující příkaz pro instalaci balíčku fuse-sshfs pomocí správce balíčků.

Poznámka:V distribucích Linuxu založených na Debianu je název balíčku sshfs.

sudo dnf install -y fuse-sshfs

Správce balíčků také nainstaluje závislosti, které na vašem počítači ještě nejsou. A protože velikost každého balíčku je menší než 100 kB, dokončení stahování a instalace trvalo jen několik sekund.

3. Dále vytvořte novou složku ve svém domovském adresáři s názvem mnt. Tato nová složka je přípojným bodem pro vzdálený adresář.

mkdir ~/mnt

4. Po vytvoření bodu připojení spusťte níže uvedený příkaz sshfs.

Tento příkaz připojí vzdálený adresář webového serveru (wbserver) (/var/www/html) k místnímu přípojnému bodu (~/mnt), který jste vytvořili při použití přihlašovacích údajů adm1 pro přístup.

sshfs [email protected]:/var/www/html ~/mnt

Pokud SSH server nenaslouchá výchozímu portu 22, musíte zadat přepínač -o port <číslo> pomocí příkazu sshfs. Pokud například vzdálený server naslouchá portu 2222, příkaz bude sshfs -o port 2222.

5. Pokud se k serveru připojujete poprvé, potvrďte the připojení stisknutím Y na výzvu – zadejte heslo účtu a stiskněte Enter .

6. Nakonec potvrďte, že jste úspěšně připojili vzdálený adresář spuštěním příkazu níže.

findmnt

Měli byste vidět, že vzdálený adresář je nyní připojen k místnímu adresáři, který jste zadali.

Povolení automatického připojení při spouštění

I když jste úspěšně připojili vzdálený adresář, nezapomeňte, že tento stav připojení není trvalý. Restartování počítače automaticky nepřipojí vzdálený adresář.

Úpravou /etc/fstab však můžete zajistit, aby připojení SSHFS přežilo restartování počítače a povolením autentizace na základě klíče pro adm1 účet. Povolení autentizace na základě klíče SSH zajistí, že připojení SSHFS bude plně automatické (žádné výzvy k zadání hesla).

1. Na klientovi Linux vygenerujte nový pár klíčů SSH spuštěním příkazu níže.

ssh-keygen

V souboru Enter, do kterého chcete uložit klíč, zadejte název souboru klíče a stiskněte Enter. V tomto příkladu je název souboru klíče k uložení /home/user1/.ssh/[email protected]

Ponechte heslo prázdné a dvakrát stiskněte Enter. Níže uvedený snímek obrazovky ukazuje výsledek vytvoření páru klíčů.

2. Nyní zkopírujte klíč na webový server. Níže uvedený příkaz nainstaluje klíč, který jste dříve vygenerovali (/home/user1/.ssh/[email protected]) do účtu adm1 na wbserver.

ssh-copy-id -i /home/user1/.ssh/[email protected] [email protected]

Na výzvu zadejte heslo pro [email protected] a stiskněte Enter. Jak můžete vidět níže, příkaz úspěšně nainstaloval klíč na server.

3. SSH do wbserver pomocí páru klíčů, aby bylo zajištěno, že přihlášení na základě klíče funguje.

ssh -i /home/user1/.ssh/[email protected] [email protected]

Výsledkem by mělo být úspěšné přihlášení bez požadavku na heslo. Napište exit a stiskněte Enter pro odhlášení z wbserveru.

4. Nyní, když jste nakonfigurovali ověřování pomocí klíče SSH pro uživatelský účet SSHFS, jste připraveni nakonfigurovat trvalé připojení SSHFS.

Otevřete soubor /etc/fstab v textovém editoru.

sudo nano /etc/fstab

5. Připojte níže uvedený kód na konec souboru /etc/fstab. Nezapomeňte změnit hodnotu identityfile=s cestou k souboru klíče SSH.

[email protected]:/var/www/html /home/user1/mnt fuse.sshfs identityfile=/home/user1/.ssh/[email protected],allow_other,_netdev 0 0

6. Po úpravách uložte soubor, zavřete textový editor a restartujte počítač. Jak můžete vidět níže, připojení SSHFS je po restartu opět dostupné.

Testování připojení SSHFS

Vzdálený adresář jste tedy připojili k místnímu počítači. Otázka nyní zní:"Funguje to?". Nejrychlejším testem pro potvrzení je vytvoření nového souboru a jeho uložení do přípojného bodu SSHFS. Soubor, který jste vytvořili, by se pak měl objevit na serveru.

Ve výchozím nastavení /var/www/html složka na webovém serveru je prázdná. Když vstoupíte na web hostovaný na https://wbserver , uvidíte pouze výchozí testovací stránku, jako je snímek obrazovky níže.

V tomto příkladu vytvoříte novou domovskou stránku a potvrdíte, že webový server tuto novou stránku zobrazuje.

1. Přepněte pracovní adresář na ~/mnt, bod připojení SSHFS.

cd ~/mnt

2. Provedením dotykového příkazu vytvořte soubor index.html a otevřete jej v textovém editoru.

touch index.html && nano index.html

3. Nyní naplňte soubor index.html níže uvedeným kódem HTML, uložte soubor a ukončete editor.

Welcome

I was put here over SSH by SSHFS

Snímek obrazovky níže ukazuje očekávaný obsah souboru index.html.

4. Nakonec znovu otevřete webovou adresu URL ve svém webovém prohlížeči. Webový server by měl vyzvednout a zobrazit novou domovskou stránku, jak můžete vidět níže.

Gratulujeme! Nyní jste úspěšně implementovali připojení SSHFS na vašem počítači se systémem Linux. K ručnímu provádění změn není nutné nahrávat nebo stahovat vzdálené soubory.

Odpojení vzdáleného adresáře

Předpokládejme, že již nepotřebujete přístup ke vzdálenému adresáři prostřednictvím připojení SSHFS a chcete jej odpojit, spusťte některý z níže uvedených příkazů.

Spusťte níže uvedený příkaz, pokud jste vzdálený adresář připojili interaktivně pomocí sshfs nástroj.

fusermount -u /home/user1/mnt

Pokud jste automaticky připojili vzdálený adresář v fstab , místo toho spusťte níže uvedený příkaz. Kromě toho musíte odstranit položku automatického připojení SSHFS v fstab . Pokud ne, vzdálený adresář se po restartu znovu automaticky připojí.

sudo umount /home/user1/mnt

Použití připojení SSHFS v systému Windows

Počítače se systémem Windows mohou mapovat síťová umístění jako místní jednotky, jako jsou servery FTP, sdílené síťové položky a knihovny SharePoint. Budete rádi, když budete vědět, že můžete také přidat jednotky pro připojení SSHFS ve Windows instalací programu s názvem SSHFS-Win – port SSHFS v Linuxu.

Instalace WinFsp a SSHFS-Win

SSHFS-Win vyžaduje, aby WinFsp fungoval, protože poskytuje základní funkci FUSE. Při instalaci WinSfp i SSHFS-Win postupujte podle níže uvedených pokynů.

1. Otevřete prohlížeč na svém klientovi Windows a stáhněte si nejnovější verzi WinSfp (v1.10) a SSHFS-Win (v3.5.20357).

2. Vyhledejte stažené instalační programy a nejprve spusťte instalační program WinSfp.

3. Klikněte na Další na stránce Vítejte v průvodci instalací WinFsp 2022.

4. Vyberte všechny funkce a klikněte na Další.

5. Klikněte na Install na stránce Ready to install WinFsp 2022.

6. Po instalaci WinFsp klikněte na Finish.

7. Dále spusťte instalační program SSHFS-Win.

8. Klepnutím na tlačítko Další na první obrazovce, jak je znázorněno níže, zahájíte proces instalace.

9. Klepněte na Další na stránce Vlastní nastavení.

10. Na stránce Připraveno k instalaci SSHFS-Win klikněte na Instalovat.

11. Nakonec klepnutím na Finish (Dokončit) ukončete průvodce nastavením.

Porozumění Syntaxi cesty SSHFS

Před mapováním vzdáleného adresáře pomocí připojení SSHFS si prohlédněte níže uvedený seznam, abyste pochopili, jak SSHFS-Win interpretuje vzdálené cesty.

\\\\PREFIX\\[email protected][!PORT][\\PATH]
  • REMUSER je vzdálený uživatel, jehož přihlašovací údaje použijete k ověření na vzdáleném serveru.
  • HOST je název hostitele nebo adresa IP vzdáleného serveru.
  • PORT je naslouchací port SSH vzdáleného serveru. Tato hodnota je volitelná a výchozí je port 22.
  • PATH je vzdálená cesta vzhledem k PREFIX . Různé předpony jsou:
    • sshfs – mapuje na cestu relativní k domovskému adresáři uživatele (tj. HOST:~REMUSER/PATH ).
    • sshfs.r – mapuje na cestu relativní ke kořenovému adresáři hostitele (tj. HOST:/PATH )
    • sshfs.k – mapuje na cestu relativní k domovskému adresáři uživatele (tj. HOST:~REMUSER/PATH ) a používá ověřování na základě klíče SSH. Tato předpona používá klíč v %USERPROFILE%/.ssh/id_rsa pro ověření.
    • sshfs.kr – mapuje na cestu relativní ke kořenovému adresáři hostitele (tj. HOST:/PATH ) a používá klíč v %USERPROFILE%/.ssh/id_rsa pro ověření.

Připojení a odpojení vzdáleného adresáře pomocí Průzkumníka souborů Windows

Jedním ze způsobů, jak namapovat síťovou jednotku ve Windows, je pomocí Průzkumníka souborů Windows. S touto metodou nemusíte spouštět žádné příkazy a každý krok provedete v GUI ve stylu průvodce.

1. Otevřete okno Průzkumník souborů, klikněte na Tento počítač —> Počítač —> Mapování síťové jednotky .

2. Vyberte písmeno jednotky a zadejte níže uvedenou cestu do pole Složka pro připojení složky \var\www\html.

\\sshfs.r\[email protected]\var\www\html

Ponechte zaškrtnutou možnost Znovu připojit při přihlášení a klikněte na Dokončit.

3. Zadejte heslo účtu, zaškrtněte políčko Zapamatovat si mě a klepněte na OK.

Nyní jste namapovali připojení SSHFS s písmenem jednotky. A protože jste povolili možnosti Znovu připojit při přihlášení a Zapamatovat si mě, systém Windows po restartování počítače znovu připojí připojení SSHFS.

4. V tomto okamžiku můžete nyní spravovat soubory ve vzdáleném adresáři. Pokud však již namapovanou jednotku nepotřebujete a chcete ji odebrat, klikněte pravým tlačítkem na připojení SSHFS a klikněte na Odpojit.

Připojení a odpojení vzdáleného adresáře pomocí příkazového řádku

Příkaz net use je dalším způsobem mapování vzdáleného adresáře ve Windows. Mapování SSHFS mount disků přes příkazový řádek je užitečné pro skriptování a automatizaci.

Chcete-li připojit vzdálený adresář, otevřete příkazový řádek nebo PowerShell a spusťte níže uvedený příkaz k mapování \\var\\www\\html vzdálený adresář na disk místního počítače Z . Nezapomeňte změnit PASSWORD hodnotu s heslem vzdáleného uživatele.

net use Z: \\\\sshfs.r\\[email protected]\\var\\www\\html PASSWORD /user:adm1

Chcete-li odebrat připojovací jednotku SSHFS pomocí příkazového řádku, delete mapování na jednotku Z: spuštěním níže uvedeného příkazu.

net use Z: /delete

Testování připojení SSHFS

Nyní, když máte přístup k místně namapované síťové jednotce, můžete spravovat soubory ve vzdáleném adresáři jako jakékoli jiné místní soubory. V tomto příkladu aktualizujete domovskou stránku webu přímo z namapovaného disku SSHFS.

1. Otevřete Průzkumník souborů a přejděte na mapovanou jednotku.

2. Otevřete soubor s názvem index.html v textovém editoru, jako je Poznámkový blok. Pokud soubor neexistuje, nejprve jej vytvořte.

3. Zkopírujte níže uvedený kód HTML a vložte jej do souboru index.html a uložte soubor.

Welcome

I was put here over SSH by SSHFS

Brought to You from Windows 10

4. Nakonec otevřete webový prohlížeč a přejděte na adresu URL webu HTTP://wbserver . Nyní byste měli vidět aktualizovanou domovskou stránku, kterou jste upravili, potvrzující, že vaše připojení SSHFS funguje tak, jak bylo zamýšleno.

Závěr

Konečně jste se dostali na konec tohoto návodu. Naučili jste se používat připojení SSHFS k mapování adresářů na váš místní počítač se systémem Windows nebo Linux ze vzdáleného serveru SSH. SSHFS je vynikající nástroj pro pohodlí a zabezpečení vzdáleného přístupu k souborům.

Když už mluvíme o zabezpečení, možná byste se jako další krok měli podívat na Jak zabezpečit SSH pomocí Fail2Ban? Hodně štěstí!


Linux
  1. Jak používat Ssh-copy-id s Multiple-hop Ssh tunelem?

  2. Linux – Jak připojit vzdálený souborový systém se zadáním čísla portu?

  3. SSHFS (Secure SHell FileSystem) – Bezpečně připojte vzdálený souborový systém přes ssh

  1. Jak porovnávat adresáře přes ssh

  2. Jak mohu použít SSH s proxy SOCKS 5?

  3. Jak mohu pracovat s nástroji GUI na vzdáleném serveru?

  1. SSHFS:Jak připojit vzdálené souborové systémy přes SSH

  2. Jak spouštět příkazy Linuxu na vzdáleném systému přes SSH

  3. Příkaz SCP v Linuxu:Jak jej používat, s příklady