Rubriky
Technologie Tipy a triky

Nepoužíváte SSHFS? Měli byste.

V životě developera přijde dřív nebo později chvíle, kdy začne používat nějaký verzovací systém. Existuje jich několik (Git, SVN, Mercurial, …), ale každý z nich vyžaduje podporu na straně hostingu. My vám proto přinášíme krátký návod, jak můžete s těmito systémy pracovat jednoduše u nás.

Na Srigiho článek o RSYNC epřímo navázal svým blogpostem Vlado Kriška.Píše v něm o SSHFS a možnosti, jak jej využít pro deployment. Po jeho přečtení jsme si řekli, že tuhle featuru musíme zpropagovat co největšímu počtu lidí. K jejímu použití potřebujete libovolný linuxový stroj anebo Putty a aktivovanou službu shell konto. U jiných hostingů si dejte pozor na to, aby podporovaly SSH připojení.

SSHFS (SSH File System) je file system klient, který umožňuje práci s adresáři a soubory na vzdáleném serveru. Umožňuje rovněž mount adresářů ze vzdáleného serveru na lokální stroj, a přesně tuto vlastnost potřebujeme využít.

Nejprve si musíte na svůj stroj nainstalovat samotné SSHFS. Uživatelé Ubuntu a jiných Debian-based distribucí pomocí příkazu apt-get install sshfs uživatelé Fedory a CentOS zase příkazem yum install sshfs.

Teď si můžeme připojit (namountovat) celý svůj webový projekt na názevdomény.cz o lokálního stroje pomocí příkazu: sshfs login@nazevdomeny.cz:/ lokalnislozka/

Tento příkaz bude požadovat heslo. Abychom se do budoucna vyhnuli opakovanému zadávání hesla, použijeme návod z blogpostu o RSYNC. Pro zjednodušení ho vložíme i sem.

krok #1 – vygenerování SSH klíčů

Pokud ještě nemáte vygenerovaný vlastní pár SSH klíčů, zadejte do konzole příkaz

ssh-keygen -t rsa -C "VAS@EMAIL.CZ"

Volbou -t zvolítte typ vygenerovaných klíčů. RSA je nejbezpečnější dostupnou volbou. Přepínač -C určuje komentář (najdete jej na konci veřejného klíče). Komentář slouží ke snazší identifikaci klíčů.

Po odeslání příkazu se program zeptá na cestu, kam soubory s klíči uložit. Stačí potvrdit výchozí nastavení. Dále se zeptá na heslo, kterým se klíče zašifrují. Klíče můžete na disk uložit i nezaheslované, ale není to nejmoudřejší volba. Doporučuji zadat silné heslo (passphrase). Po tomto kroku jsou klíče vygenerovány do vašeho domovského adresáře (pokud jste nezadali jinou cestu).

krok #2 – nahrání veřejného klíče na webserver

Připojte se pomocí FTP ke svému účtu a vytvořtye v hlavním adresáři podadresář .ssh (ano, na začátku je tečka). Do tohoto adresáře nahrajte z vašeho disku (z místa, kam byl v předchozím kroku vygenerován) soubor s názvem .ssh/id_rsa.pub a přejmenujte ho na authorized_keys.Tento soubor obsahuje seznam veřejných klíčů, které jsou oprávněné se připojit k danému kontu. Díky tomuto postupu máte v authorized_keys rovnou první veřejný klíč (pokud byste chtěli přidat další, nemůžete soubor přejmenovat, musíte nový klíč zapsat na další řádek). Je důležité, aby klíče v souboru authorized_keys byly zapsané bez zalomení, tedy opravdu jeden klíč na jeden (dlouhý) řádek!

Mountnutý hostingový adresář se stane součástí lokálního souborového systému a jsou pro něj dostupné všechny běžné operace. Například i výše zmíněné systémy pro správu revizí, jako Git, SVN, Mercurial…

Můžete si to vyzkoušet velmi jednoduše, například zkopírováním podkladů k rsync z našeho github repozitáře do nového adresáře rsync_test pomocí série příkazů:

  • cd lokalnislozka/
  • mkdir rsync_test/
  • cd rsync_test/
  • git clone git://github.com/websupport-sk/screencast-rsync.git

Teď uvidíte na vašem hostingu ve složce rsync_test srigiho podklady k blogpostu.

Samozřejmě Git i ostatní systémy mají mnohem širší využití, než jsme použili v testu. Tomu bychom se mohli věnovat v dalším blogpostu. Zatím vám pro inspiraci doporučujeme přečíst, jak se dá využít systém Mercurial pro deployment blogu nebo jaký Git workflow používají lidi ze Superfaktura.sk. Třešničkou na závěr by mohl být vymakaný interaktivní tutoriál Git za 15 minut

P.S.: Hledáme country managera pro Českou republiku. Pojďte s námi měnit hostingový trh!

Autor: Websupport.cz

websupport.cz team

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *