ssh inloggen d.m.v. keys

Hoe kun je inloggen met ssh zonder wachtwoord te gebruiken?

Je kan natuurlijk iedere keer inloggen met behulp van ssh <user>@<server of ip>. Hierbij wordt je iedere keer gevraagd om een wachtwoord. Veel gemakkelijker is gebruik te maken van een ssh-key.

Hoe die je dit? Het is eigenlijk heel eenvoudig!

stap 1.|
Op de omgeving waarvandaan je wilt inloggen, creëer je de ssh-key

ssh-keygen -t rsa -b 4096

Je krijgt nu een aantal vragen. Wanneer je voor de 'passphrase' een wachtoord(zin) invoert is het natuurlijk super veilig. Enige nadeel is, je moet iedere keer de 'passphrase' intikken wanneer je met 'ssh' wilt inloggen. Daar schieten we dus niets mee op.

Een voorbeeld voor ssh-key-gen

Je vindt in '$HOME/.ssh' twee bestanden terug. een 'id_rsa' en een 'id_rsa.pub'. Het enige bestand wat je mag distribueren is de 'id_rsa.pub'. Dit is de public ssh-key. Zodra iemand het andere bestand 'id_rsa' in handen krijgt is het voor een hacker eenvoudig om toegang te krijgen tot je  systemen. Zodra dit gebeurt, direct een nieuwe ssh-key genereren en overal waar je de public ssh-key hebt neergezet vervangen door de nieuwe!

stap 2.
Kopieer de public ssh-key naar de server waar je wilt inloggen.  

scp $HOME/.ssh/id_rsa.pub <user>@<server of ip>:.

Je wordt nu nog steeds gevraagd naar een wachtwoord. Voer deze in.
De public ssh-key staat nu  in je home directory op de andere server.

stap 3.
Login in op de andere server met 'ssh <user>@<server of ip>' en voer je wachtwoord in.
Wanneer dit de eerste keer is creeer je eerst een '.ssh' directory en zet je deze op de goede rechten zodat alleen jij er bij kan.

mkdir .ssh
chmod 700 .ssh

stap 4.
De inhoud van de public ssh-key toevoegen aan de '.ssh/authorized_keys'.
De public ssh-key kan daarna verwijderd worden.

cd $HOME
cat id_rsa.pub >> .ssh/authorized_keys
rm id_rsa.pub

Dat is alles! De eerst volgende keer kun je zonder wachtwoord inloggen.