Pereiti prie pagrindinio turinio

Prisijungimas prie serverio su SSH raktu

Atnaujinta prieš daugiau kaip 3 sav.

Į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ą?