onsdag, juli 30, 2008

Nyckelbaserad inloggning med ssh

För att öka säkerheten är det en bra idé att gå ifrån lösenord om man har möjlighet och istället använda kryptonycklar för att autenticera sig.

Det är enkelt gjort och här kommer mina anteckningar om hur jag gjorde;

Först loggade jag in som vanligt på min server, sedan genererade jag nya dsanycklar med kommandot

ssh-keygen -t dsa
(här kan man likaväl använda rsanycklar, men dom har lite exportrestriktioner från usa fortfarande så om du har servern där bör du hålla dig till dsa..)

Sedan tar du din publika nyckel (~/.ssh/id_dsa.pub) och kopierar den till din .ssh/authorized_keys. Kolla även så den filen inte har skrivrättigheter för alla i din grupp, isåfall chmod 600 på den

Spara hem din privata nyckel till datorn du ska ansluta från.

Dags att kolla så sshd.config är ok, följande behöver vara avkommenterat
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

man kan även stänga av lösenordsbaserad autenticering helt med
PasswordAuthentication no

Själv låter jag lösenordinloggningen vara kvar ett tag till..

Om du startar om sshd nu så är serverbiten klar.

Ansluter du sedan från en unixmaskin behöver du ha din privata nyckel i ~/.ssh/id_dsa. Så om du ska ansluta från en unixmaskin är det bättre att generera nyckeln där och lägga till din nya publika nyckel i authorized_keys på maskinen du ska ansluta till.

Kör du däremot windows, vilket är fallet för mig på jobbet så är det ju putty som gäller. Då kan du tyvärr inte bara importera din privata nyckel och vara glad.
Vad du först måste göra är att ladda ner puttygen och importera din nyckel för att sedan exportera den i puttys .ppk format.

Efter det kan du gå in i putty och välja ssh -> authentication och där bläddra dig fram till din nyckel. Nu kan du välja att gå in under data och fylla i ditt användarnamn eller bli promptad för det när du ska logga på. Vilket av sätten du väljer funkar.

Andra bloggar om

Inga kommentarer: