Hopp til hovedinnhold

Bruke SSH nøkkelpar for å koble til server

Kapittel 6

Public key er ikke sensitiv informasjon og kan trygt deles. Private key er sensitiv informasjon og må holdes hemmelig. Dersom den private nøkkelen kommer på avveie må du straks generere et nytt nøkkelpar og fjerne den gamle nøkkelen fra bruk på alle servere.

Laste opp offentlig nøkkel til server

Når du har generert et nøkkelpar på din lokale maskin, kan du laste opp den offentlige nøkkelen til serveren ved hjelp av kommandoen

ssh-copy-id -i /path/to/key/on/remote/key.pub user@server

Eksempel

ssh-copy-id -i /home/john/.ssh/srv1kat.pub john@195.548.54.135

Forklaring

flagget -i brukes for å spesifisere hvilken offentlig nøkkelfil som skal lastes opp

etter stien angis brukernavn og serveradresse der nøkkelen skal legges til

kommandoen vil be om passord for serverbrukeren den første gangen du kobler til

deretter legges nøkkelen automatisk til i filen ~/.ssh/authorized_keys på serveren, slik at du senere kan logge inn uten passord

Når nøkkelen er lastet opp, kan du koble til serveren med

ssh brukernavn@server

Eksempel

ssh john@195.584.54.135

Sjekke at nøkkelen er lagt til på serveren

Etter at nøkkelen er kopiert, kan du logge inn og sjekke at den finnes i filen authorized_keys

cat ~/.ssh/authorized_keys

Du skal da se en linje som begynner med for eksempel ssh-ed25519 eller ssh-rsa etterfulgt av din nøkkel.

Deaktivere passordinnlogging på serveren

Når nøkkelinnlogging fungerer, kan du slå av passordinnlogging for å øke sikkerheten. Åpne SSH-konfigurasjonen på serveren

sudo nano /etc/ssh/sshd_config

Finn linjen med PasswordAuthentication og endre til

PasswordAuthentication no

Lagre filen og start SSH-tjenesten på nytt

sudo systemctl restart sshd

Logge inn med nøkkel

Du kan nå logge ut og logge inn igjen uten passord

ssh brukernavn@server

Eksempel

ssh john@195.584.54.135

SSH vil da automatisk søke etter riktig nøkkel i din lokale mappe ~/.ssh.

Hvis du ønsker å spesifisere hvilken nøkkel som skal brukes, kan du skrive

ssh brukernavn@server -i /path/to/private/key

Eksempel

ssh john@195.584.54.135 -i /home/john/.ssh/srv1

Dersom du satte et passord på nøkkelen under generering må du skrive dette inn ved innlogging. Hvis du lot passordfeltet stå tomt vil du komme rett inn på serveren.

Høydepunkt – viktige kommandoer

Kopiere offentlig nøkkel til server

ssh-copy-id -i /path/to/key.pub brukernavn@server

Eksempel

ssh-copy-id -i /home/john/.ssh/srv1kat.pub john@195.548.54.135

Koble til med nøkkel

ssh brukernavn@server

Spesifisere nøkkelfil ved tilkobling

ssh brukernavn@server -i /path/to/private/key

Eksempel

ssh john@195.584.54.135 -i /home/john/.ssh/srv1

Sjekke om nøkkel er lastet opp

cat 

Skru av passordinnlogging

sudo nano /etc/ssh/sshd_config
PasswordAuthentication no

Restart SSH

sudo systemctl restart sshd

Logg inn uten passord

ssh brukernavn@server
Robert Kristoffersen
Fullstack-utvikler • Webno