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.