WebSupport blog

Nepoužívate SSHFS? Mali by ste.

V živote developera príde skôr či neskôr k bodu, keď začne používať niektorý zo systémov pre riadenie revízií. Existuje ich niekoľko (Git, SVN, Mercurial,…), ale každý z nich si vyžaduje podporu na strane hostingu. My vám teraz prinášame krátky návod, ako môžete úplne jednoducho pracovať s týmito systémami u nás.

Na srigiho článok o RSYNC nepriamo nadviazal svojím blogpostom Vlado Kriška. Píše v ňom o SSHFS a jeho možnosti využitia pri deploymente. Po jeho prečítaní sme si povedali, že túto featuru treba spropagovať čo najširšiemu publiku. Pre jej využitie potrebujete mať ľubovoľný linuxový stroj alebo putty a aktivovanú službu shell konto. Pri iných hostingoch si dajte pozor na podporu SSH pripojenia.

SSHFS (SSH File System) je file system klient, ktorý umožňuje prácu s adresármi a súbormi na vzdialenom serveri. Umožňuje tiež mount adresárov zo servera na lokálny stroj a presne túto vlastnosť potrebujeme využiť.

Najprv si budete musieť nainštalovať na svoj stroj samotné SSHFS. Používatelia Ubuntu a iných Debian-based distribúcií pomocou príkazu apt-get install sshfs a používatelia Fedory a CentOS zas príkazom yum install sshfs.

Teraz si môžeme pripojiť celý svoj webový projekt na nazovdomeny.sk mountnúť do lokálneho stroja pomocou príkazu: sshfs login@nazovdomeny.sk:/ lokalnazlozka/

Tento príkaz si vyžiada heslo. Aby sme sa však do budúcna vyhli opakovanému zadávaniu hesla, použijeme návod z blogpostu o RSYNC. Pre zjednodušenie ho vložíme aj sem.

krok #1 – vygenerovanie SSH kľúčov

Ak ešte nemáte vygenerovaný vlastný pár SSH kľúčov, zadajte do konzoly príkaz

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

Prepínačom -t zvolíte typ vygenerovaných kľúčov. RSA je najbezpečnejšou dostupnou voľbou. Prepínač -C nastavuje komentár (je možné ho nájsť na konci verejného kľúča). Komentár umožní ľahšie identifikovať jednotlivé kľúče.

Po odoslaní príkazu sa program opýta na cestu, kam súbory s kľúčmi uložiť. Postačí potvrdiť defaultné nastavenie. Následne sa opýta na heslo, ktorým sa kľúče zašifrujú. Kľúče môžete na disk uložiť aj nešifrovane, ale nie je to najmúdrejšia voľba. Odporúčam zadať silné heslo (passphrase). Po tomto kroku sú kľúče vygenerované do adresára .ssh vo vašom domovskom adresári.

krok #2 – nahranie verejného kľúča na webserver

Pripojte sa pomocou FTP klienta do žiadaného FTP účtu a vytvorte v hlavnej zložke adresár .ssh (áno, na začiatku je bodka). Do tohto adresára nahrajte súbor z vášho disku .ssh/id_rsa.pub a premenujte ho na authorized_keys. Tento súbor musí obsahovať zoznam verejných kľúčov, ktoré sú oprávnené prihlásiť sa k danému FTP kontu. Vďaka postupu s premenovaním uložíte do authorized_keys ako prvý váš vlastný verejný ssh kľúč. V súbore môže byť viac verejných kľúčov, na každom riadku jeden. Je dôležité, aby ste jednotlivé verejné kľúče uložili bez zalomenia (ako jeden dlhotánsky riadok)!

P.S. V niektorých prípadoch, napríklad pri použití mod_sftp sa vyžaduje formát RFC 4716. Ten dosiahnete jednoduchým skonvertovaním už vytvoreného verejného kľúča
ssh-keygen -e -f privatny_kluc > kluc_v_novom_formate

Mountnutý hostingový adresár sa stane súčasťou lokálneho súborového systému a sú pre neho dostupné všetky bežné operácie. Napríklad aj na začiatku spomínané systémy na správu revízií ako Git, SVN, Mercurial.

Veľmi jednoducho si to môžete vyskúšať napríklad skopírovaním rsync podkladov z nášho github repozitára do nového adresára rsync_test pomocou série príkazov:

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

Teraz uvidíte na vašom hostingu v zložke rsync_test srigiho podklady k blogpostu.

Samozrejme Git aj ostatné systémy majú oveľa širšie využitie, ako sme použili v teste. Tomu by sme sa však mohli venovať v ďalšom blogposte. Zatiaľ vám pre inšpiráciu odporúčame prečítať si, ako sa dá využíť systém Mercurial pre deployment blogu alebo aký Git workflow majú chalani zo Superfaktura.sk. Čerešničkou na záver by mohol byť tento vymakaný interaktívny tutorial na Git za 15 minút

P.S.: Stále hľadáme nových developerov a ak máte dobrý tip, odmeníme vás unlimited hostingom a programom cream. Pozrite sa na developer.websupport.sk

Komentáre