Pereiti prie pagrindinio turinio

Prisijungimas prie serverio su SSH raktu

Atnaujinta šiandien

Įprastai prie serverio galima prisijungti naudojant naudotojo slaptažodį, tačiau saugesnis ir šiuolaikiškesnis būdas yra prisijungimas naudojant SSH raktus.

Privalumai

  • Nereikia atsiminti serverio slaptažodžio

  • Gerokai saugiau nei slaptažodinė autentifikacija

  • Atsparu brute-force atakoms

Trūkumai

  • Kiekvieną įrenginį, iš kurio jungsitės, reikia sukonfigūruoti atskirai

1. Prisijungimas iš Windows operacinės sistemos (OS)

A. SSH raktų generavimas

Windows aplinkoje raktų generavimui galite naudoti nemokamą "PuTTYgen" programą (atsisiųsti), o prisijungimui prie serverio per SSH programą - "PuTTY" (atsisiųsti).

Paleiskite "PuTTYgen", pasirinkite raktų tipą EdDSA ir spauskite mygtuką Generate:

(tam, kad procesas būtų užbaigtas, tiesiog judinkite žymeklį -"pelę")

Kai raktai bus sugeneruoti:

  • įveskite norimą passphrase

  • išsaugokite (nukopijuokite) raktą, kuris nurodytas laukelyje "Public key for pasting into OpenSSH authorized_keys file"

  • išsaugokite žemiau esančius:

    • Public key (Save public key)

    • Private key (Save private key)

B. SSH rakto įkėlimas į jau veikiantį serverį

Prisijunkite prie serverio ir sukurkite .ssh katalogą:

mkdir -p ~/.ssh chmod 700 ~/.ssh

Sukurkite authorized_keys failą:

nano ~/.ssh/authorized_keys

Failo viduje iš "PuTTYgen" programos skilties "Public key for pasting into OpenSSH authorized_keys file":

  • raktą nukopijuokite raktą (klaviatūroje: CTRL + c)

  • įklijuokite faile (klaviatūroje: CTRL + Insert)

  • išsaugokite (klaviatūroje: CTRL + x, tuomet raidę y ir spustelėkite Enter).

Nustatykite teises:

chmod 600 ~/.ssh/authorized_keys

C. SSH rakto įkėlimas naujai diegiant serverį

Klientų sistemoje naujai perinstaliuojamoje (perrašomoje) serverio operacinėje sistemoje (OS), SSH raktą galima įkelti iš karto. Tam atlikite šiuos veiksmus:

  • klientų sistemoje (klientams.iv.lt), skiltyje "Paslaugos" pasirinkite savo serverį.

  • skilties "Valdymas" eilutėje "Sistema (OS)" nuspauskite [Perinstaliuoti].

  • sąraše pasirinkite norimą operacinę sistemą ir nuspauskite "Perinstaliuoti".

  • atsivėrusiame puslapyje paspauskite nuorodą "Vietoje slaptažodžio naudoti SSH raktą":

  • pažymėkite "Taip, pageidauju perinstaliuoti sistemą"

  • teksto laukelyje esančią informaciją (ssh-rsa ... [email protected]) - ištrinkite:

  • ir įkelkite viešą SSH raktą iš "Public key for pasting into OpenSSH authorized_keys file"

  • ir serverio perinstaliavimui (yra pašalinami visi serveryje esantys duomenys) nuspauskite mygtuką "Toliau >>".

D. Prisijungimas prie serverio su PuTTY

Prie serverio galėsite prisijungti su "PuTTY" (atsisiųsti) programa. Atsidarius programą, iš pradžių į ją reikės įkelti privatų raktą. Skiltyje "Sesions" nurodykite:

  • Host Name: serverio IP adresas

  • Port: 22 (tai standartinis prievadas)

  • Connection type: SSH

Tolimesni veiksmai - skiltyje:

  • Connection → Data

    • Auto-login username nurodykite: root

Kitoje skiltyje:

  • SSH → Auth → Credentials

    • Įkelkite privatų SSH raktą (.ppk failą)
      (laukelyje "Private key file for authentication").

Grįžkite į kategoriją "Session", laukelyje "Host Name (or IP address)" - įrašykite serverio IP adresą ir skiltyje "Saved Sessions" įveskite norimą pavadinimą, išsaugokite nuspaudžiant mygtuką "Save":

Dabar, norėdami prisijungti prie savo serverio, skiltyje "Saved Sessions" pasirinkite sukurtą prisijungimą ir nuspauskite Open. Jei viską atlikote teisingai - prie serverio prisijungsite be slaptažodžio.

Atkreipkite dėmesį, kad prisijungimo metu gali paprašyti įvesti "passphrase" - jį nurodėte pirmame žingsnyje: A. SSH raktų generavimas.

2. Prisijungimas iš Linux OS

A. SSH raktų generavimas

Šiuolaikinėse Linux sistemose rekomenduojamas Ed25519 algoritmas:

ssh-keygen -t ed25519

Jei reikalingas suderinamumas su labai senomis sistemomis, tuomet:

ssh-keygen -t rsa -b 4096

Paspauskite Enter, kai bus klausiama dėl rakto vietos, ir rekomenduojama nustatyti passphrase.

B. SSH rakto įkėlimas į jau veikiantį serverį

Patogiausias būdas:

ssh-copy-id root@serverio_IP_adresas

Arba, jei naudojamas nestandartinis SSH prievadas:

ssh-copy-id -p 2322 root@serverio_IP_adresas

Ši komanda veikia Ubuntu, Debian ir AlmaLinux sistemose.

C. SSH rakto įkėlimas naujai diegiant serverį

Diegimo metu:

  • pasirinkite SSH key authentication

  • įklijuokite viešą raktą iš ~/.ssh/id_ed25519.pub

D. Prisijungimas prie serverio

Prisijungimas atliekamas standartine komanda:

ssh root@serverio_IP_adresas

Jei naudojamas kitas prievadas:

ssh -p 2322 root@serverio_IP_adresas

Papildoma rekomendacija

Kai SSH raktai veikia, rekomenduojama išjungti slaptažodžio autentifikaciją faile:

/etc/ssh/sshd_config

Nustatymai:

PubkeyAuthentication yes PasswordAuthentication no

Tam, kad pakeitimas įsigaliotų, perkraukite serverio SSH tarnybą:

systemctl restart sshd

Ar gavote atsakymą į savo klausimą?