2012-03-15

Logga in på dator utan lösenord, dvs. public key authentication

För att slippa skriva in lösenord varje gång man loggar in på en dator via SSH så kan man använda en publik nyckel för att autentisera användaren.

Skapa först upp publik och privat nyckel:
$ ssh-keygen -t dsa
Följ instruktionerna och välj ett lösenord som skiljer sig från användarens lösenord
Den publika nyckeln hamnar här: /home/[user]/.ssh/id_dsa.pub
Den private nyckeln hamnar här: /home/[user]/.ssh/id_dsa

Flytta den publika nyckeln till den dator du vill logga in på:
$ scp ~/.ssh/id_dsa.pub [user]@[server]:.ssh/authorized_keys

Nu kan du logga in på den andra datorn utan att kunna lösenordet för kontot där
$ ssh [user]@[server]
$ scp [file] [user]@[server]:/[dir]
Dock måste du skriva in lösenordet till nyckelfilen varje gång.

För att slippa skriva in det lösenordet varje gång så skriver man:
$ exec /usr/bin/ssh-agent $SHELL
$ ssh-add

Klart! Nu kan du logga in utan att skriva några lösenord!

För att ändra lösenordet till nyckelfilen så skriver man:
$ ssh-keygen -f ~/.ssh/id_dsa -p