Snel en veilig toegang tot een linux server met SSH Keys

Als je gewend bent een Linux server te beheren dan weet je als geen ander dat je erg vaak in de terminal werkt en elke nieuwe sessie je wachtwoord moet ingeven.

Maar er is ook een sneller en veiligere manier. Namelijk het gebruik van SSH keys.

Open een terminal venster op je eigen machine (bijvoorbeeld je Mac)

ssh-keygen

Bij het genereren van de key heb je de mogelijkheid om een lokale encryptiesleutel op te geven. Dit is veiliger maar zal er wel voor zorgen dat je bij elke login alsnog dit wachtwoord moet opgeven.

Bepaal dus zelf of je een extra wachtwoord wilt gebruiken. Zo niet, laat dan het veld leeg en bevestig met <enter>

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/username/.ssh/id_rsa.
Your public key has been saved in /Users/username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:JHusgui&24//iJHsy98(*Sy9hsnkIOUHughs*(jsulM username@hostname.local
The key's randomart image is:
+---[RSA 3072]----+
|         B       |
|          .      |
|         o.    + |
|      . .+++=B..+|
|     . .ooo ..B=B|
|           .=... |
|      .oo.B .... |
|       +B=B.B o .|
|    o+B=B=o.+=o. |
+----[SHA256]-----+

Vervolgens moet je de key nog ‘importeren’ op de server waarmee je verbinding wilt maken. Gebruik hiervoor het volgende commando:

ssh-copy-id remoteuser@myremotehost.com

Waarna er een sessie opgezet wordt met de server en de key wordt gekopieerd in je profiel.

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/username/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
remoteuser@myremotehost.com's password: 

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh 'remoteuser@myremotehost.com'"
and check to make sure that only the key(s) you wanted were added.

Probeer nu eens in te loggen zoals je normaal doet en je zal zien dat je zonder het ingeven van een wachtwoord kan inloggen.