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.
En notis om sikkerhet
Vennligst merk at metoden beskrevet her er en usikker metode, ikke anbefalt, og kan ses på som utdatert. For din egen sikkerhet bør du ikke benytte passordløse sertifikater. I stedet bør du sette en passordfrase på sertifikatet ditt og bruke ssh-agent for å unngå å måtte skrive inn fasen hver gang du bruker ssh. Resten av artikkelen er fortsatt relevant.
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.