SSH innlogging uten passord

Dersom du ofte bruker SSH fra et shell er du kanskje lei av å måtte taste inn passord til stadighet. Dersom du ofte logger på andre maskiner fra din maskin via SSH, f. eks. jobb, skole eller andre maskiner på ditt eget LAN kan dette spare deg mye tid. Dette er også noe du er nødt for å gjøre dersom du ønsker å montere fjerne filsystemer via SSHFS når du starter opp maskinen. OBS! Ikke gjør dette på maskiner du ikke stoler på. Dersom du sitter på en offentlig maskin bør du ikke gjøre dette.

Hva skal vi gjøre?

Vi ønsker å gjøre det mulig for bruker-A på maskin-A å logge inn på kontoen til bruker-B på maskin-B via SSH uten å måtte taste inn passord.

Hva du må gjøre

Først logger du på som bruker-A på maskin-A og genererer et par autentiseringsnøkler. Dette trenger du bare å gjøre en gang, selv om du ønsker å kunne logge på flere andre maskiner uten passord (maskin-C, maskin-D, etc). Når du blir spurt om passphrase trykker du enter-tasten. Med andre ord skal vi ikke passordbeskytte autentiseringsnøkkelen. Når du blir bedt om filnavn, trykker du enter-tasten for å bruke standard filnavn.
bruker-A@maskin-A:~> ssh-keygen -t rsa 
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/bruker-A/.ssh/id_rsa): 
Created directory '/home/bruker-A/.ssh'. 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/bruker-A/.ssh/id_rsa. 
Your public key has been saved in /home/bruker-A/.ssh/id_rsa.pub. 
The key fingerprint is: 3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 bruker-A@maskin-A

Nå bruker du SSH for å lage mappen ~/.ssh på kontoen til bruker-B på maskin-B. (Mappen kan allerede eksistere men det gjør ikke noe siden denne kommandoen ikke overskriver mappen)

bruker-A@maskin-A: ~> ssh bruker-B@maskin-B mkdir -p .ssh 
bruker-B@maskin-B’s password:

Det siste du må gjøre er å legge til autentiseringsnøkkelen til bruker-A i bruker-Bs autentiserte nøkler.

bruker-A@maskin-A: ~> cat .ssh/id_rsa.pub | ssh bruker-B@maskin-B ‘cat >> .ssh/authorized_keys’ 
bruker-B@maskin-B’s password:

Du skal nå kunne logge deg på maskin-B som bruker-B uten å måtte taste inn passord

bruker-A@maskin-A: ~> ssh bruker-B@maskin-B

For å kunne logge på andre maskiner (maskin-C, maskin-D, etc.) på samme måte gjentar du trinnet hvor du lagde mappen og trinnet hvor du la til autentiseringsnøkkelen for maskin-C, maskin-D, etc.

Leave a Reply