SSH belépés jelszó nélkül, kulcspár használatával

Ha szeretnél belépni egy Linux szerverre jelszó megadása nélkül, akkor ebben a leírásban találsz segítséget hozzá.
Miért is jó ez?
Például ha mentéseket szeretnénk átküldeni egyik szerverről egy másikra SSH-n keresztül, mindezt automatikusan.
Nem kell a jelszavunkat a scriptek-ben tárolnunk. A kulcs hitelesítéssel mindkét fél azonosítható. Biztonságosabb mint a jelszó hitelesítés.
Mindezekhez nincs szükség másra mint egy létező hozzáféréshez a távoli szerverhez, (felasználónév,jelszó páros), ssh-keygen és ssh-copy-id parancssori alkalmazásokra.

A leírásban “A-host” amiről csatlakozunk, “B-host” amihez csatlakozunk.

Első lépés: Készítsük el “A-host” publikus és privát kulcsát.
Ehhez lépjünk be “A-host”-ra majd adjuk ki a következő parancsot:

pistike@a-host:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pistike/.ssh/id_rsa): 
Created directory '/home/pistike/.ssh'.
Enter passphrase (empty for no passphrase): [ENTER]
Enter same passphrase again: [ENTER]
Your identification has been saved in /home/pistike/.ssh/id_rsa.
Your public key has been saved in /home/pistike/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:nqmTRhzOSceDH7wRANVCAO8HkxHzbYCzBU9JQWx1B/k pistike@a-host
The key's randomart image is:
+---[RSA 2048]----+
| .+X@B+++. |
| . =*+++. |
| ...Boooo |
| . .=o*.. E |
| .===So |
| .*o.o |
| . .+ |
| +. |
| ... |
+----[SHA256]-----+

Második lépés: Másoljuk át a publikus kulcsunk “B-host”-ra. Figyeljünk nehogy a privát kulcsot másoljuk. Alapesetben, ha nem módosítottunk a kulcs generálása során semmit, akkor id_rsa.pub lesz a fájl neve.

$ ssh-copy-id -i ~/.ssh/id_rsa.pub username@B-host
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/pistike/.ssh/id_rsa.pub"
The authenticity of host 'b-host(192.168.110.12)' can't be established.
ECDSA key fingerprint is SHA256:pPmvGvLwYTq/7ncRVALrtG2EumNjrK7UidNVDt/sMFw.
Are you sure you want to continue connecting (yes/no)? 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
janika@b-host's password: 

Number of key(s) added: 1

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

Megjegyzés: ha “A-host”-on a felhasználó nevünk “géza” de “B-host”-on “jános” akkor “B-host”-ra “géza” nevű felhasználóval nem tudunk bejelentkezni, ezért a kulcs másolásához azt a felhasználónevet írjuk akinek van joga “B-host”-ra belépni.

Harmadik lépés: Egyben utolsó, próbáljuk ki be tudunk e lépni “B-host”-ra jelszó használata nélkül.

$ ssh username@b-host

Ha sikerült akkor készen is vagyunk, ha nem sikerül ellenőrizzük jó kulcsot másoltunk át, jó felhasználóval próbálunk belépni, engedélyezve van “B-host”-on az SSH kulcs alapú hitelesítés.

openssh

 

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.