Det är väldigt viktigt att man håller efter säkerheten hos sitt system dels genom att se till att allt är uppdaterat, men samtidigt är det viktigt att se till att inte någon obehörig lyckas logga in. Något som är otroligt vanligt nu för tiden är bruteforce-attacker via ssh, där attackeraren försöker logga in med olika användarnamn och lösenord, ofta tusentals gånger per dag. Visserligen är risken relativt liten att någon skulle gissa både användare och lösenord rätt, men den bästa lösningen är att helt sluta acceptera lösenord.
Istället använder man SSH-nycklar för att logga in. Man har två nycklar, en privat och en publik. Den publika nyckel delar man ut till de servrar man vill ha möjlighet att logga in mot och den privata är helt enkelt privat.
Om du använder något unix-baserat system för att ansluta till dina servrar såsom OS X eller någon Linux-variant kan du i terminalen skriva
# ssh-keygen
Detta skapar dina nycklar och sparar dem i katalogen .ssh i din hemkatalog. Eller om du använder tex Putty i windows så laddar man ner puttygen får att skapa nycklarna.
Nyckeln som slutar på .pub skall du sedan ladda upp och lägga in i slutet av filen
~/.ssh/authorized_keys
som EN rad på servern du vill ansluta till utan lösenord.
Nu har du dels bekvämligheten att slippa ange lösenord när du ansluter till servern (såvida du inte har ett lösenord på själva nyckeln) och samtidigt en helt klart säkrare authentiseringsmetod. Men för att slutföra det hela skall vi också se till att det inte går att logga in med lösenord. Detta gör man lättast att helt enkelt ta bort lösenordet helt från användaren. Du kan göra det genom att byta ut lösenordet mot * i lösenordsfilen.
# vipw
för att editera filen och sätt sedan lösenordet till *.
