Automatisch inloggen met SSH kan eenvoudig geconfigureerd worden met private en public key files. Het kan op verschillende manieren, namelijk via:
- Een private key in Putty
- Met KeePass en KeeAgent plugin
- Met Pageant (Putty authenication agent)
- Met SSH vanaf een andere Linux server
Private en public keypair genereren met Putty
Voor het geval je nog geen keypair hebt, gaan we deze eerst genereren. Dat kan met Putty en gaat als volgt.
Download PuTTY en PuTTYgen (of de installer met beide): www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Start PuTTYgen:
- Default staat SSH-2 RSA geselecteerd en dat kun je zo laten.
- Klik op Generate
- Beweeg je cursor over het window heen.
- Sla de private key op en noem deze bijvoorbeeld: mijn-privatekey.ppk, ik gebruik geen Passphrase, maar kan natuurlijk wel.
- Sla de public key op en bewaar deze beide goed.
- En kopieer de volledige public key naar het clipboard (selecteren en Ctrl-C). Deze ziet er uit als: ssh-rsa AAA……ZCbQk= rsa-key-20150220
Toevoegen van je public key op je linux server
Login als root op je server en wjzig/controleer de sshd_config:
$ vi /etc/ssh/sshd_config PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
Creëer de .ssh folder:
$ mkdir ~/.ssh
Voeg de public key toe aan de authorized_keys file en zet de rechten goed. Tip: Je kunt de public key selecteren en kopiëren met Ctrl-C en met linkermuis toets plakken in PuTTY:
$ vi /root/.ssh/authorized_keys
ssh-rsa AAA......ZCbQk= rsa-key-20150220
$ chmod 700 ~/.ssh
$ chmod 644 ~/.ssh/authorized_keys
1: Je Private key in Putty
Start Putty en doe het volgende:
- Connection->Data->Auto-login username: root
- Connection->SSH->Auth->Private Key: <Je private key file>
- En sla de sessie op
2: Met KeePass en KeeAgent plugin
Open KeePass en doe het volgende:
- Maak een nieuwe entry aan (Ctrl-I)
- Vul de titel in van de entry: LoginMetKey
- Ga naar de tab: Advanced en klik op Attach
- Browse naar de hiervoor opgeslagen file
en open deze. - Druk op OK.
Let op! Nu staat deze private key in KeePass en kan voor meerdere servers gebruikt worden. Er hoeft dus niet per server een private key opgeslagen te worden.
3: Met Pageant (Putty authenication agent)
Start Pageant en doe het volgende:
- Klik rechts op het Pageant icoontje (een computer met een hoedje)
- Klik op Add en browse naar de hiervoor opgeslagen
file en voeg deze toe.
Nu staat net als in KeePass the private key in Pageant en kant het voor meerdere servers gebruikt worden. Overal waar je je public key toevoegt aan de authorized_keys file, daar kun je automatisch inloggen.
4: Met SSH vanaf een andere Linux server
Eerst logen we in als root en maken een .ssh directory aan en genereren we met ssh-keygen het keypair:
$ mkdir ~/.ssh
$ chmod 600 ~/.ssh
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub
Voeg nu op de remote server je public key toe aan de authorized_keys file, zoals hierboven beschreven in: Toevoegen van je public key op je linux server