Je maakt een keypair. Eigenlijk maakt het niet uit waar je de key maakt, als je ze maar op de juiste plek opslaat zodat jouw client ze kan gebruiken en de remote server ze kan vinden.
Uitgaande van een linux client machine run je het commando ssh-keygen.
Dus
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| [leconnaisseur ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/leconnaisseur/.ssh/id_rsa):
Created directory '/home/leconnaisseur/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/leconnaisseur/.ssh/id_rsa
Your public key has been saved in /home/leconnaisseur/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:xD76jIAreu3Nl9WuQEhIdEwABaLsYx/lGeFxCd50PNg leconnaisseur@t490s.mobile.mth
The key's randomart image is:
+---[RSA 3072]----+
|. o==B+o=. |
|o. .ooB+.E |
|.. .=..o . |
|. o.o+ |
| + . o. S . |
|. o.. o .. . |
| .o. . .o . |
|. ...+ +o. . |
|oo... +.o .. |
+----[SHA256]-----+
[leconnaisseur ~]$ ll .ssh
total 8
-rw-------. 1 leconnaisseur leconnaisseur 2675 Jul 16 13:48 id_rsa
-rw-r--r--. 1 leconnaisseur leconnaisseur 584 Jul 16 13:48 id_rsa.pub |
Die pub moet je kopieren naar je target, ook in de .ssh directory. Heb je al keys, dan hoef je dat niet te doen, maar moet je zorgen dat je keys op de juiste plek staan. De naam id_rsa is niet noodzakelijk, maar dit is op mijn systeem de default zo zonder enige opties.
Overzetten kan je doen met ssh-copy-id:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| [leconnaisseur@ ~]$ ssh-copy-id tc@pi2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/leconnaisseur/.ssh/id_rsa.pub"
The authenticity of host 'pi2 (192.168.0.32)' can't be established.
ED25519 key fingerprint is SHA256:MZDMG9WKYSQ2I3FCQdqVqLkBXoNZmp1WkDSeLmlruDc.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/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
tc@pi2's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'tc@pi2'"
and check to make sure that only the key(s) you wanted were added.
[leconnaisseur@ ~]$ ll .ssh
total 16
-rw-------. 1 leconnaisseur leconnaisseur 2675 Jul 16 13:48 id_rsa
-rw-r--r--. 1 leconnaisseur leconnaisseur 584 Jul 16 13:48 id_rsa.pub
-rw-------. 1 leconnaisseur leconnaisseur 635 Jul 16 13:50 known_hosts
-rw-r--r--. 1 leconnaisseur leconnaisseur 85 Jul 16 13:50 known_hosts.old |
Je ziet, ik accepteer de
hostkey en die sla ik op in known_hosts omdat ik de key accepteer die de host biedt. Hostkeys is voor een volgende keer.
Door met ssh-copy-id te werken weet ik zeker dat ik de juiste key kopieer en ik vergroot de kans op de juiste rechten aan de andere kant; daar moet je even goed op letten als je dit met de hand zou doen - de .ssh directory op de target moet 0700 zijn, de authorized_key file moet 0600 zijn.
Als je al een keypair hebt, doe je hetzelfde, je moet de pubkey aan de andere kant in de authorized_keys file zetten zodat de sshserver, sshd, die kan lezen.
Of volg deze oude guide:
https://access.redhat.com...ation-keypairs-generating