Kde to žije tam to hnije

  • v registrech ? v tom případě se ti to stalo hned ...
  • A co mam dělat, když je tam účet jenom jeden?? :sa...
  • No to je lahoda. MocMoc děkuji. Tomu se říká kvali...
  • vdaka
  • dobrej návod , už mi to zase fachá, dík :roll:

RE-KLA-MA

Hledání

Přihlášení



You are here:
SSH přihlašování pomocí klíčů PDF Print E-mail
Written by Administrator   
Thursday, 25 February 2010 11:26

V tomto krátkém návodu vám ukážu jak se lze přihlašovat do systému pomocí ssh klíčů bez hesla.
je to praktické ve chvíli kdy píšete skripty které např. vykonávají vzdálené příkazy na serveru, nebo se vám nechce se dokolečka přihlašovat 100x denně.

 

Než přistoupíme k věci měli by jste vědět že ssh klíč není totéž co certifikát. Klíč je v tomto případě totéž co přístupová karta (nebo klíče) podle kterých jen systém pozná zda máte nebo nemáte někam přístup. Rozhodně to nezvyšuje úroveň zabezpečení samotné komunikace k tomu slouží certifikáty které řešit nebudem.

Jdem na to :)


Nejprve si vygenerujeme na svém pc odkud se budeme hlásit klíč kterým se budeme přihlašovat.


ssh-keygen -t dsa


Budete dotázáni kam klíč ulozit. Vetšinou stačí když klíč necháme tam kam nám ho ssh-keygen nabízí uložit (u mne /home/rainbof/.ssh/id_dsa) a hlášku odklepneme.

Pokud se dozvite v dalsim kroku že uz klíč máte tak to znamená že už ho máte :D. Pokud jste si ho nevyrobili sami tak se vám vytvořil při prvním přihlášení nebo během instalace systému. Heslo k tomuto klíči je pak stejné jako vase heslo do systemu. Pokud se tedy chcete prihlasovat bez hesla tak je potreba ho přepsat a tím vygenerovat znovu (a heslo nezadávat).

Nyní máme v adresáři .ssh aktuálního uživatele dva soubory id_dsa což je jeho osobní klíč a id_dsa.pub což je veřejný klíč. Veřejný je ten co vezmeme a nakopírujeme na server na který se pak budeme smět prihlásit. Já jsem si ho nakopíroval do dočasné složky /tmp/id_dsa.pub. Teď se prihlasim na server a certifikat pridám do souboru autorizací. Je duležité se nesplést a nesmazat si ostatní klíče (certifikáty musí být v souboru jeden za druhým). Takže ten svůj

v /tmp slozce přidám uživateli rainbof (mám na mysli uzivatele rainbof na serveru) takto:

cat /tmp/id_dsa.pub>>/home/rainbof/.ssh/authorized_keys


teď je klíč naimportovan (a můžu ho na serveru smazat příkazem rm /tmp/id_dsa.pub)


Hotovo!


restartujeme ssh démona (není třeba se obávat pádu už probíhajících spojení) příkazem


sudo /etc/init.d/sshd restart



nyní se k serveru můžeme přihlašovat treba takhle:


ssh -l rainbof rainbof@server


kde -l rainbof říká kdo (=který uživatel) má klíč k přihlášení a rainbof@ říká pro jakého uživatele klíč platí

(to za tím je samozřejmě server pokud to nahodou nevíte)

Co dělat když to nefunguje ?


1.) zkontolovat zda je povoleno použití ssh klíčů


v souboru /etc/ssh/sshd_config se musí vyskytovat (nezakomentované) řádky. Pozor, nemusí následovat hned po sobě.


PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

pokud tam nejsou, nebo jsou zakomentovány je potřeba je opravit.


2.) Není uživateli zakázáno přihlašování pomocí ssh klíčů ?


v souboru /etc/ssh/sshd_config se někdy nachází dvě nastavení

DenyUsers a AllowedUsers ktere můžou obsahovat seznam uživatelů oddělených mezerami.
typické bezpečné nastaveni povolující jen pro některé uživatele použití ssh klíčů je

DenyUsers *

AllowedUsers rainbof elcabra

To znamená že zakázaní jsou všichni, ale rainbof a elcabra jsou vyjímky a smí takto přihlašovat.


3.) pokud máte jiný problém, je užitečné zobrazit si ve ktere fázi přihlašování to vlastně spadlo toho

docílíme zapnutim "ukecaneho" režimu ssh.

ssh rainbof@server -v


Last Updated on Sunday, 30 May 2010 13:53
 

Comments  

 
+1 #1 tloudev 2010-06-22 10:07
nekolik pripominek..
1/ ssh kontroluje striktne prava na authorized_keys , popr. na ~/.ssh - dost casto nejde prihlaseni prave kvuli nim
2/ je nanejvyse vhodne do authorized_keys davat restrikce v podobe povolenych prikazu, povolene IP adresy atd.. viz http://www.hackinglinuxexposed.com/articles/20030109.html
Quote
 

Add comment


Security code
Refresh