SSH-võtmete seadistamine ja parooli väljalülitamine
chmod õiguste kalkulaator
chmod.| Lugemine (r) | Kirjutamine (w) | Käivitamine (x) | |
|---|---|---|---|
| Omanik | |||
| Grupp | |||
| Teised |
chmod 644 failSSH-võtmega sisselogimine on paroolist turvalisem: võtit ei ole võimalik jõuga ära arvata ja sisselogimine toimub ilma saladust sisestamata. Seadistus koosneb kolmest sammust: genereeri võti, kopeeri see serverisse, lülita parool välja. Vaatame kõik läbi.
Kuidas SSH-võtmed töötavad
Võti koosneb failipaarist: privaatvõti (hoiad ainult sina) ja avalik võti (pannakse serverisse). Ühendumisel kontrollib server, et sul on avalikule võtmele vastav privaatvõti — ilma saladust ennast edastamata.
Samm 1. Genereeri võtmepaar
Käivita oma arvutis (mitte serveris):
ssh-keygen -t ed25519 -C "my-laptop"
ed25519 on kaasaegne ja kiire algoritm. Kui klient on vana, kasuta RSA-d:
ssh-keygen -t rsa -b 4096 -C "my-laptop"
Programm küsib asukohta (vaikimisi ~/.ssh/id_ed25519) ja paroolifraasi. Paroolifraas kaitseb võtit juhuks, kui fail varastatakse — soovitame selle määrata.
Tulemuseks tekib kaks faili:
~/.ssh/id_ed25519— privaatvõti (ära kellelegi anna);~/.ssh/id_ed25519.pub— avalik võti.
Samm 2. Kopeeri võti serverisse
Lihtsaim viis on utiliit ssh-copy-id:
ssh-copy-id deploy@SINU_IP
See küsib ühe korra kasutaja parooli ja lisab sinu avaliku võtme serveris faili ~/.ssh/authorized_keys.
Kui ssh-copy-id pole saadaval (näiteks Windowsis), kopeeri võti käsitsi:
cat ~/.ssh/id_ed25519.pub | ssh deploy@SINU_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Samm 3. Kontrolli võtmega sisselogimist
Logi välja ja ühenda uuesti:
ssh deploy@SINU_IP
Kui sisselogimine õnnestus ilma parooliküsimuseta (või küsiti ainult võtme paroolifraasi), siis kõik töötab. Ära lülita parooli välja enne, kui oled veendunud, et võti toimib.
Samm 4. Lülita parooliga sisselogimine välja
Ava SSH-serveri seadistusfail:
sudo nano /etc/ssh/sshd_config
Leia parameetrid ja vii need sellisele kujule:
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin prohibit-password
Salvesta fail ja taaskäivita teenus:
sudo systemctl restart ssh
Osal süsteemidest kannab teenus nime sshd — siis sudo systemctl restart sshd.
Failiõigused
SSH kontrollib õigusi rangelt. Kui võtmega sisselogimine ei tööta, kontrolli:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Kokkuvõtlik kontrollnimekiri
| Samm | Käsk |
|---|---|
| Genereeri võti | ssh-keygen -t ed25519 |
| Kopeeri serverisse | ssh-copy-id user@ip |
| Kontrolli sisselogimist | ssh user@ip |
| Lülita parool välja | PasswordAuthentication no |
| Taaskäivita SSH | systemctl restart ssh |
Korduma kippuvad küsimused
Mida teha, kui kaotasin privaatvõtme?
Seda ei saa taastada. Ühenda serveri juhtpaneelis KVM-konsooli kaudu, lisa faili authorized_keys uus avalik võti ja kustuta vana.
Kas ühte võtit tohib kasutada mitmes serveris? Jah, avaliku võtme võib lisada suvalisele arvule serveritele. Privaatvõti jääb seejuures üheks ja hoiad seda ise.
Kuidas lisada teise arvuti võti?
Genereeri teises seadmes võtmepaar ja lisa selle avalik võti eraldi reana faili authorized_keys. Iga võti on eraldi real.
Kas parooli täielik väljalülitamine on turvaline? Jah, see on soovitatav praktika: nii kaob paroolide äraarvamise võimalus. Peamine on säilitada varuligipääs KVM-konsooli kaudu juhuks, kui võti kaob.
Kokkuvõte
Võtmega sisselogimine eemaldab peamise nõrga koha — parooli äraarvamise. Pärast seadistamist ja PasswordAuthentication väljalülitamist muutub server märgatavalt turvalisemaks ja sisselogimine kiiremaks.
Tahad oma serveris harjutada? Võta Linuxi VPS, vali pakett jaotisest VPS-i rent või usalda seadistus jaotisele Serverite haldus.