sIMON - 12 Junij, 2007

spet ena ssh-jeva…sshkeychain

Sistemci po x letih še vedno pišejo gesla, ko se prijavljajo na svoje strežnike. Takšen sistemc vpiše svoje geslo x-krat (where x > 50) na dan in je po možnosti enako za vseh svojih 120 strežnikov. Takšno eno za vse geslo uporablja že 5 let, ker se je nanj pač navadil.

Da ne govorim o izgubi časa, varnosti ki pade na vseh točkah, pa še kaj.

ssh je že zelo lep čas nazaj nudil rešitev. SSH ključi.

Sistem deluje na principu privatnega in javnega ključa. Javni ključ izpostavljaš po strežnikih do katerih želiš dostopati, privatnega držiš samo na svoji delovni postaji. Privatni ključ ima svoje geslo.

Tako lahko do strežnikov dostopaš samo, če imaš privatni ključ in seveda geslo zanj.

V tej fazi torej niste naredili veliko, uvedli ste nov nivo varnosti (poleg gesla še ključ, še vedno pa je potrebno pisati geslo, tokrat za ključ).

Rešitvi tudi tega se imenuje ssh-agent. Ideja ssh-agenta je, da si ob prijavi v delovno postajo, “registriraš” tudi ssh ključ (vpišeš geslo), za tem pa je prijava v sisteme brez spraševanja za geslo.

Še več, agent se “vleče” za vami, kar pomeni, da lahko ustvarite SSH povezavo do strežnika A, iz strežnika A pa naprej na strežnik B. Če imate na obeh strežnikih postavljen vaš javni ssh ključ, vas tudi pri povezavi iz A do B strežnika sistem ne bo vprašal za geslo, ker je sistem B preko sistema A dostopal do vašega ssh agenta in vas autenticiral.

Na kratko, ne potrebujete pisati več gesel sploh.

Jaz sem gesla po strežnikih celo odstranil, do mojih uporabniških računov se z geslom sploh ne da dostopati. Kolikokrat pa se vam zgodi, da potrebujete do konzole strežnika dostopati s svojim uporabniškim imenom in geslom. Meni nikoli.

Pa praksa:

Najprej si morate ustvariti ključ:
unix & unix like (tud OS X) sistemi:
# ssh-keygen

winblows: puttygen @ http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Na *nix sistemih se bo ključ naredil v ~/.ssh/id_dsa <– privatni in ~/.ssh/id_dsa.pub <– javni

Zatem je potrebno postaviti ssh agenta:

OS X: recimo http://www.phil.uu.nl/~xges/ssh/
*nix: # ssh-agent
winblows: pageant @ http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htm

agentom pokažite pot do ključev in jih nastavite tako, da se bodo zagnali ob logiranju v delovno postajo.

Javni del ssh ključa skopirajte po strežnikih do katerih želite dostop. To storite tako da v mapi .ssh na strežniku ustvarite, če še ni datoteko authorized_keys in vanjo skopirate svoj javni del ključa.

PAZITE ! Javni del ključa je vedno samo ena vrstica, ogromnokrat se sistemcem zgodi da jo razbijejo na več.

Eto, če ste vse naredili prav, se poskusite povezati do svojega strežnika, tokrat brez gesla.

Ob uporabi tega sistema je potrebno pomisliti malo na varnost same delovne postaje oz. dostopa do nje, zatorej zaklepajte delovno postajo ko greste od mize, nastavite “screen saver” na malo časa in zaščitenega z geslom.

Toliko zaenkrat, nisem šel v detajle, ker bi se zgubili, upam da se že niste. Ideja je predstaviti, raziskujte pa sami !

Še par 100 tipk na dan manj !

s.

13 Komentarjev na “sveti peter oz. ključar za SSH”

  1. !!!VSE NAJBOLJŠE!!! :) :*

  2. sIMON, cela shtala, ravno danes sem si ponesreci zbrisal moj kljuc na masini, backupa pa nisem imel. Ce bi imel dostop z gesli do masin onemogocen, kako naj pridem do njih v tem primeru? Verjetno telefonski klici in/ali fizicen dostop?

    In, ja… Se pridruzujem Mojci, VSE NAJBOLJSE! :*

    BTW: danes sem odkril ssh agenta za Maca, ki mi je bolj vsec kot “SSH Agent”, imenuje se SSHKeychain. Poznas? Kul? Odsvetujes? Talk to me :)

  3. mOJČI dear !! :-)

    hvala :*

    tu pa nisem pričakoval čestitik… presenečen :-)

    c ya…

  4. vINI !!! :-) fala da si se spomnu ;-)

    glede ključa si si sam odgovoril z “backupa pa nisem imel” :-) Če nimaš backupa do ključa elektronske banke tud ne morš več do nje, če si ga zgubu, zatorej poprosiš roota, da ti setira geslo ali pa imaš shranjena one-time gesla ! o tem mogoce prihodnjic, je pa uporabno. Ti si skreiras recimo deset gesel ki veljajo samo enkrat, ko jiih vpises. Tako si dokaj safe tudi, če se moraš prijaviti na server iz kakšnega javnega računala.

    SSHKeychain je kul !!!! Hvala… očitno ga še ni blo tko 5 let nazaj ko sva začela s temi meki in sm ostal pri starem konju. Pa tunele ma !!!

    Mu pa zamirim, SSHKeychainu full, da ne dela out of the box !! Morš prebrat navodila, da vidiš da morš v preferences v enem tabu kliknat eno kljukco, da sploh začne delat *stupid*.

    Sm zdej na SSHKeychainu :)

    s.

  5. Ves kaj mi je najbolj vsec na SSHKeychain? To, da lahko izklopim njegovo prikazovanje v docku in s tem tudi v command-tabanju :)

    Je pa res, ja, sem ga moral jaz tudi nastavljat kar nekaj casa, da je zacela zadeva delovat :) Mi je pa blazno kul njegov feature pozabljanja gesla, ce si ga ne dam v keychain… Dosti varno, tudi ce mi ukradejo notebooka… z SSH Agent bi lahko tisti, ki mi ga je sunil, prisel do cisto vseh masin…

  6. Ja, ce bi ti sunil odklenjenga :) brez screensaverja z geslom…

    Tunneling poznas ?

    S.

  7. Ga imam vedno odklenjenga, brez screensaverja z geslom :)

    Tunneling pa poznam samo po imenu, kje je prakticna uporabna vrednost tega?

  8. S tunnelingom si mapiras porte, ki so dosegljivi strezniku na katerega se povezes,

    torej ce imas v firmi nek razvojni web server na nekem internem IP-ju, dostop od zunaj imas pa samo na SSH od gateway-a, si lahko mapiras port tako, da bos preko gw-ja videl interni web streznik.

    Toraj nek kvazi single-port vpn.

    Je full uporabno…

  9. Zeky, hudo da imas blog, z Banetom sva ravno debatirala kako ze vsi imajo svojo stran, ali vsaj blog, edino midva nikakor da se spraviva.
    Veliko dela pa ne rata sperfekcionirat zadevo, se tolaziva… potem pa ti odpres svoj blog, pa vsi vemo kolk si bizi.
    Vsa cast!

    Pa seveda: vse najboljse! :)

    ssh-agenti so zakon, je pa res da rabis backup private key-a, jaz ga hranim kar skupaj s certifikatom od klika v sefu v banki in v stumfu pod posteljo :P

    Tunneling pa sploh, dostkrat pride usefull ce imas npr. kaksno bazo zaprto samo za localhost rabis pa kaj stestirati na hitro z lokalno kodo od doma, ali pa compare baze naresti, karkoli…. pac gres ssh gor, naredis tunel in voila! ze ima na lokalnem portu vse kar rabis - carsko!

    Zdaj sem pomislil, a je kdo ze poskusal chainat tunele? Mislim tko da rabis skozi en gw priti do drugega in skozi drugega do nekega local serverja odzad pa da kar pochainas tunele… Verjetno bi cist lepo slo, ne vidim zakaj ne…

  10. Gogi !!!

    Tale blogic je res nastal cez noc, dobesedno, 10x Dalee :-)

    chaining tunelov dela bp ! :-) pa se kar veliko uporabljen.

    Upam da kmalu vidimo tudi vajin blog :)

    n’joy,
    S.

    P.S.: zdaj vem kje mas svoj klik cert :)

  11. Hehe, samo se za jaj** me moras obesiti da ti obe gesli izdam! :))

  12. če so pa vsi, bom pa še jest. sumim da je tvoj praznik danes .. :) vse najboljše !! za trenutek odloži delo :)

  13. […] potem samo “ssh secret”. Seveda pa imate postavljenega ssh agent, tako da proces steče brez vpisovanja […]

Napiši komentar