Avatar
Linux, textfiler & minimalism
13 November 2014

Kom igång med SSH

En vän saknade mitt gamla inlägg om hur man kommer igång med SSH från Lathund, så här kommer en ny version av min 5 år gamla guide.

Klienten man använder till protokollet SSH heter OpenSSH och på Ubuntu är OpenSSH uppdelat i paketen openssh-client och openssh-server. På Arch har man bara paketet openssh. Ubuntu har valt den enkla vägen för nybörjare och Arch har valt den enkla vägen för mer erfarna användare. :)

När du installerat OpenSSH fungerar det direkt ur lådan om du har Ubuntu:

ssh <Användarnamn>@<Adress>

T.ex:

ssh hund@192.168.1.2

Om du har Arch på din server behöver du se över filen /etc/ssh/ssh<strong>d</strong>_config eftersom allting av säkerhetsskäl är bortkommenterat som standard.

Jag rekommenderar att man ser över några saker för att göra sin server lite mer säker:

  • Använd certifikat
  • Byt ut standardporten
  • Neka åtkomst för användaren root
  • Ändra tiden man har på sig att logga in
  • Inaktivera möjligheten att kunna använda det lokala kontot för att logga in
  • Förhindra bruteforce-försök med Sshguard

Använd certifikat

För certifikatet använder vi oss av en RSA-nyckel, vilket innebär att man måste ha en nyckel som är godkänd av servern för att kunna logga in.

Börja med att skapa en RSA-nyckel på din arbetsdator (En nyckel på 1024 bitar ska vara tillräckligt säker, jag kör med en nyckel på 4096 bitar, bara för att.

ssh-keygen -t rsa -b 4096

Anledningen att vi skapar nyckeln på arbetsdatorn beror på att en välanvänd dator genererar en bättre nyckel. Mer om detta finns att läsa på Wikipedia: Pseudoslumptalsgenerator.

När du skapat din nyckel och behöver du ladda upp den till din server så att din server. Detta gör du enklast med SCP (Secure Copy):

scp <Användarnamn>@<Adress> -p <Port> $HOME/.ssh/id_rsa.pub @:$/HOME/.ssh/authorized_keys

Var noga med att bara din användare har rättigheter att läsa filerna id_rsa.pub och authorized_keys på din klient respektive server.

Klienten:

chmod 600 $HOME/.ssh/id_rsa.pub

Servern:

chmod 600 $HOME/.ssh/authorized_keys

Byt ut standardporten

Att byta ut standardporten är en enkel och väldigt klok åtgärd för att försvåra åtkomsten för obehöriga användare. Öppna filen /etc/ssh/sshd_config på din server och leta reda på raden Port 22 och ändra porten till något annat, gärna en port över 10,000.

Neka åtkomst för root

Att åtkomst för root till att använda SSH är en annan enkel och klok säkerhetsåtgärd. Leta reda på raden PermitRootLogin yes och ändra värdet till no.

Ändra tiden man har på sig att logga in

Att ändra tiden man har på sig att logga in är en annan enkel och klok åtgärd. Som standard har man 120 sekunder på sig att logga in, men om du vill ändra den till något annat letar du reda på raden LoginGraceTime 120 och ändrar värdet till något som passar dig.

Inaktivera möjligheten att kunna använda det lokala kontot för att logga in

Om du inaktiverar möjligheten att kunna använda det lokala kontot på servern för att kunna ansluta måste man ha ett certifikat för att kunna logga in på servern. Leta reda på raden PasswordAuthentication yes och ändra värdet till no.

Dubbelkolla även konfigurationsfilen så att följande stämmer:

Protocol 2
UsePrivilegeSeparation yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes

När du är klar startar du bara om tjänsten så att ändringarna börjar gälla:

Ubuntu:

# service ssh restart

Arch:

# systemctl restart sshd

Ytterligare säkerhet med Sshguard

I min gamla guide rekommenderade jag Fail2ban vilket är ett mer allsidigt program som lämpar sig väl för LAMP-servrar. Sshguard är nättare, lättare och fokuserar enbart på SSH.

Arch Wiki har en utmärkt artikel om Sshguard. Länk.

SSH Nätverk Säkerhet

Återkoppling

Min blogg består av 100% statisk HTML-kod och saknar därför ett kommentarssystem. Om du vill lämna återkoppling, diskutera eller fråga något går det bra att göra det via e-post, XMPP och Mastodon.