abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | Zajímavý projekt

    Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    včera 14:22 | IT novinky

    Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.

    Ladislav Hagara | Komentářů: 8
    včera 04:22 | Nová verze

    SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 7
    včera 03:11 | Zajímavý projekt

    Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační

    … více »
    NUKE GAZA! 🎆 | Komentářů: 8
    15.3. 15:33 | Humor

    PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    15.3. 14:33 | Nová verze Ladislav Hagara | Komentářů: 1
    15.3. 12:33 | Zajímavý projekt

    FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.

    NUKE GAZA! 🎆 | Komentářů: 4
    14.3. 22:55 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.

    Ladislav Hagara | Komentářů: 2
    14.3. 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 2
    14.3. 13:00 | Humor

    Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.

    NUKE GAZA! 🎆 | Komentářů: 16
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1095 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník

    Hratky s PHP + SSH

    23.1.2011 07:33 | Přečteno: 97736× | linux

    PHP jiz nejaky cas umi pracovat s SSH. Rozhodl jsem se podelit se o jeden skriptik, ktery mi setri trochu prace a casu.

    Nejdrive je treba nainstalovat podporu SSH do PHP. Na mem stroji (debian squeeze) to lze snadno udelat jednim prikazem:
    root@anicka# aptitude install libssh2-php
    Probirat zde praci s SSH v PHP asi nema smysl. Napsal jsem jednoduchy skriptik, ktery lze imho pouzit jako dobry zaklad pro dalsi vyvoj:
    <?php
            $host = "localhost";
            $user = "uzivatel";
            $password = "bezpecneHeslo";
            $cmd = "df -h";
    
            /* Vytvoreni ssh spojeni */
            $ssh = ssh2_connect($host);
            if (!$ssh) {
                    die ("Chyba - Nelze se spojit s ssh serverem.\n");
            }
    
            /* Prihlaseni na server */
            $sshLogin = ssh2_auth_password($ssh, $user, $password);
            if (!$sshLogin) {
                    die ("Chyba - Nelze se prihlasit na server.\n");
            }
    
            /* Spusteni prikazu */
            $sshExec = ssh2_exec($ssh, $cmd);
            if (!$sshExec) {
                    die ("Chyba - Nepodarilo se korektne spustit prikaz.\n");
            }
    
            /* Precteni odpovedi od ssh serveru */
            stream_set_blocking($sshExec, true);
            while ($line = fgets($sshExec)) {
                    echo $line;
            }
    
            /* Zavreni proudu */
            fclose($sshExec);
    ?>
    
    Podobny skriptik jsem pouzil pro monitorovani jednoho zarizeni, ktere umoznuje prihlaseni pres SSH, ale neumoznuje prihlaseni klicem. Dluzno podotknout, ze pro prihlasovani na klasicke PC v siti je dle diskuse u jednoho z mych minulych zapisku o neinteraktivni praci s SSH lepsi pouzit prihlasovani klicem, coz by v PHP snad nemel byt problem. Ja na sve trusted siti dam prednost pouziti hesla.

    Doufam, ze tento zapisek nekomu pomuze. :-)        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    23.1.2011 11:14 Laco
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Get a life!
    23.1.2011 11:21 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    ? :)
    23.1.2011 13:01 ROFL
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Life is overrated. Get a job!
    23.1.2011 12:03 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    $password = "bezpecneHeslo";
    Au.
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    23.1.2011 12:15 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    ;-)
    FrostyX avatar 23.1.2011 12:52 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Píšu to úplně stejně. Jak to lze udělat bezpečněji ?
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    23.1.2011 13:20 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Nepoužívat SSH?
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    23.1.2011 13:22 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Prave proto je pouzito ssh, aby byla komunikace bezpecna. :-) Jinak, jak v zaveru pisu, je lepsi pouzit prihlasovani klicem.
    Josef Kufner avatar 23.1.2011 13:52 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Ono je ve skutečnosti úplně jedno jestli to je klíčem nebo heslem, protože ti tak jako tak stačí k úspěšnému přihlášení ukrást soubor. Akorát že dát heslo přímo do kódu povětšinou znamená jeho zveřejnění v repositáři (svn/git/...). Dej to do konfiguráku a správně nastav oprávnění (parse_ini_file() se na to hodí). Ale i tak to pořád znamená, že jakmile to nahraješ na server, tak admin na tom serveru a pravděpodobně i spousta dalších lidí dostala přístup na to zařízení, kam se to připojuje.
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 23.1.2011 13:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Jinak k tomu ini doporučuju přidat příponu php a na začátek připsat toto:
    ; <?php exit(); ?>
    Aby se to nenechalo zobrazit při zadání správné adresy a to bez ohledu na konfiguraci serveru a další zákazy jinde. Volitelně můžeš před tenhle řádek přidat nějaké informace (verze) či posměšný vzkaz útočníkovi ;-)
    Hello world ! Segmentation fault (core dumped)
    23.1.2011 14:39 CET
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Tak rozdil mezi klicem a heslem je OBROVSKY.

    1) klic muzes zasifrovat heslem, pri startu aplikace pak jednou nahrajes klic a rozheslujes-predpoklada to, ze dokazes nejak bezpecne ulozit plain-text klic v pameti/disku

    2) v .ssh/authorized_keys muzes definovat, jaky program se ma pri spusteni timhle klicem provest, takze ikdyz nekdo ukradne klic, dokaze spustit jenom zadanou akci.

    Mozna by se nasly jeste dalsi vyhody klice.
    Josef Kufner avatar 23.1.2011 15:29 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Není v tom rozdíl vůbec žádný. Tak jako tak je to jen o přístupu k souboru, kde je klíč nebo heslo uloženo a na tom se vůbec nic nemění.

    Zašifrovat ho nemůžeš, protože ten program ho potřebuje používat a ne čekat až se uživatel uráí zadat heslo.

    Zabezpečení na serveru můžeš udělat i na úrovni uživatelského účtu, takže tam to z pohledu bezpečnosti vyjde taktéž nastejno, jen ta konfigurace bude vypadat trošku jinak, někdy hůř, někdy líp.

    Výsledek: Je to kyblík.
    Hello world ! Segmentation fault (core dumped)
    23.1.2011 15:47 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Osobne davam prednost ulozeni hesla ve zdrojaku + nastaveni prav na ten soubor. Prozrazeni hesla pri nahrani do svn mi nehrozi.
    Josef Kufner avatar 23.1.2011 16:29 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Jen počkej až se ti to povede ;-)
    Hello world ! Segmentation fault (core dumped)
    23.1.2011 16:35 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Tohle se mi jeste nepovedlo. Ale jednou se mi postestilo vystavit dump databaze, coz take nebylo zrovna bezpecne. :-)
    24.1.2011 14:08 CET
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Jak jsem psal, kdyz umoznis pristup klicem, muzes v authorized_keys definovat, co ten klic ma spustit. Tohle proste s heslem neudelas. Muzes leda pro uzivatele nastavit nejakej jinej shell, pak musis pro kazdou cinnost udelat specialni ucet (a oteviras tak dvere pres jiny sluzby), nebo musis nechat shell a doufam, ze ten prihlasenej uzivatel spusti jenom to, co ty chces.

    Naopak, muzes si vytvorit X klicu, kazdemu dovolis jenom specifickou cinnost (to navic muzes jeste nakombinovat pres sudo, abys nemusel klic ukladat rootovi). Kdyz nekdo ukradne klic, bude moct udelat pouze tu jedinou cinnost, nic jineho. Kdyz ti nekdo ukradne heslo, bude si delat, co bude chtit.

    Kdyz zjistis ukradeny klic, proste ho vymazec a nahradis u te jedne sluzby. Kdyz sjistis ukrada heslo, musis zmenit heslo, pripadne preinstalovat cely system (pokud ti ho hacker uz poupravil) a u vsech sluzeb zmenit to heslo v konfiguraku.

    A jak jsem psal. Heslo napises do zdrojaku, kazdy ho muze precist. Pokud SSH klic zasifrujes a apache spustis v ssh-agentovi, tak pak nactes ssh klic do agenta jednou a apache si ho bere z agenta (nezkousel jsem, ale pouzivam to normalne v Xkach, tak by to mohlo jit i v apachovi). Samozrejme pri rebootu je nutne zadat heslo, stejne jako heslo zadavas pri startu u SSL certifikatu pro apache nebo u openvpn. Zalezi ale na tom, jak moc bezpecne to chces mit. Moje razeni by bylo (1)SSLcert/SSHkey+password, (2) SSLcert/SSHkey-plain, (3) SSH heslo ve zdrojaku.

    Opravdu to vyjde na stejno?

    P.S.: Jo, taky obcas pouzivam heslo ve zdrojaku (resp. v CFG includu) v shellu nebo perlu (pro mysql nebo LDAP), ale ten uzivatel ma samozrejme omezeny prava. Jenze u mysql a LDAP se jinak neprihlasim, resp. at se prihlasim treba i certifikatem, nemuzu omezit mysql nebo ldap pripojeni jen na urcity prikaz - to nastesti u ssh jde.
    Josef Kufner avatar 24.1.2011 18:40 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Samozrejme pri rebootu je nutne zadat heslo
    Což je nepřípustné, pokud ten server má být spolehlivý a schopný se sám zotavit z poruch (např. když vypadne proud).

    Jinak z toho ssh agenta lze klíč vytáhnout stejně jako ze souboru. Je to jen o málo složitější (nestačí cat). Najdeš socket, připojíš se, požádáš, dostaneš. Výhodou agenta je, že klíč není rozšifrovaný na disku, ale jen v paměti. Zbytek je o unixových oprávněních souborů, resp. unix socketu.

    Takže to opravdu nastejno vyjde. Z poledu bezpečnosti. Ten zbytek je o pohodlí a konfiguračních možnostech, kde jednou se může hodit to a jindy ono.
    Hello world ! Segmentation fault (core dumped)
    23.1.2011 13:53 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Prave proto je pouzito ssh, aby byla komunikace bezpecna.
    Myslím třeba na zjišťování místa na disku by stačilo SNMP.
    Jinak, jak v zaveru pisu, je lepsi pouzit prihlasovani klicem.
    No, ono je jedno, jestli má webserver přístup k heslu nebo k soukromému klíči. Obojí může být docela problém.
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    Josef Kufner avatar 23.1.2011 13:59 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    SNMP nebo správně nastavené ssh na serveru vyjde nastejno. Tady spíš už jde o to, co je jednodužší na instalaci a nastavení. Pokud bych tam neměl nainstalované SNMP, tak bych vyrobil uživatele na ssh a jako loginshell mu nastavil script na zjištění informací. Pokud by nebylo SSH, tak bych vzal inetd a do scriptu přidal pár HTTP hlaviček.
    Hello world ! Segmentation fault (core dumped)
    23.1.2011 18:07 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Obcas potrebuji monitorovat zarizeni, ktere snmp prakticky nema. Takze se potom ssh docela hodi. :)
    FrostyX avatar 23.1.2011 13:49 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Mno já to nepoužívám na ssh. Takto mám uložené třeba heslo v php skriptu, který se připojuje k MySQL
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    Petr Tomášek avatar 23.1.2011 16:21 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Třeba takto? Pochopitelně proti adminovi (a hekrovi s rútem) to neochrání...
    multicult.fm | monokultura je zlo | welcome refugees!
    23.1.2011 16:27 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Na co rúta? Stačí uživatel který má do toho adresáře s webem právo zápisu :) Nebo nějaká remote code execution chybka.
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    Petr Tomášek avatar 24.1.2011 09:35 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Slušně nastavený systém má práva tak, aby PHP nemohlo číst konfigurák apache...
    multicult.fm | monokultura je zlo | welcome refugees!
    24.1.2011 12:16 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Však to taky není potřeba číst.
    <?php
    echo $_SERVER['tajneheslo'];
    ?>
    
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    Jendа avatar 23.1.2011 17:21 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Jak se to liší od
    exec('ssh člověk@stroj příkaz');
    ?

    Jinak - řeší nějak ta knihovna ověřování protistrany? Obávám se, že ne…
    23.1.2011 18:05 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Jestli se overuje identita, to netusim, nepidil jsem se po tom. Jinak samozrejme tebou navrhovane reseni by taky asi fungovalo, ale stejne tak se te mohu zeptat, proc ma php podporu pro mysql? Proc nepoustet mysql klienta execem? :-)
    25.1.2011 06:30 zulu
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    A když to nebude exec z PHP, ale příkaz "přímo" ? Prostě je to zbytečnost (napadají mě i trefnější slova)
    MaFy avatar 24.1.2011 06:55 MaFy | skóre: 24 | blog: kecy | Praha
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    BTW: Mas vsechny stroje pojmenovane dle holek? To jsou bejvalky, nebo smyslena jmena? ;-)
    Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
    Petr Tomášek avatar 24.1.2011 09:36 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Třeba jsou to smyšlená jména bejvalek :-D
    multicult.fm | monokultura je zlo | welcome refugees!
    24.1.2011 12:06 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    ;-)
    25.1.2011 06:31 zulu
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Jména smyšlených bejvalek.
    24.1.2011 12:06 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Tohle je pojmenovane podle jedne velmi dobre dlouholete kamaradky. Ostatni stroje pojmenovavam podle reckych bohu, sopek nebo co mne zrovna napadne. Podle holek je to trochu neprakticke, kdo by menil hostname tak casto jako holku? ;-)
    Josef Kufner avatar 24.1.2011 12:42 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    A proč myslíš, že má Google tolik strojů?
    Hello world ! Segmentation fault (core dumped)
    24.1.2011 16:19 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Asi mel Sergej Brin hodne holek najednou. ;-)
    MaFy avatar 24.1.2011 22:48 MaFy | skóre: 24 | blog: kecy | Praha
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    No to potez... Me jednou prisel request z client168.google.com :-D
    Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
    limit_false avatar 28.1.2011 14:23 limit_false | skóre: 23 | blog: limit_false
    Rozbalit Rozbalit vše Re: Hratky s PHP + SSH
    Nevim presne jak to chcete pouzivat, ale proc treba nepouzit ssh-agent s ssh-add (s klicem a heslem, treba na omezenou dobu)?
    When people want prime order group, give them prime order group.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.