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
