Primarni način povezave s strežnikom Linux je prek protokola SSH . Ta vrsta povezave je varna, saj so vsi podatki, ki se prenašajo prek nje, šifrirani. Za vzpostavitev povezave SSH jo morate konfigurirati na oddaljenem strežniku, s katerim se želite povezati, in na odjemalcu na strani uporabnika. Za povezavo SSH obstaja veliko programske opreme. Kar zadeva Linux, je najbolj priljubljen paket OpenSSH, za Windows pa ljudje večinoma uporabljajo PuTTY.
Oglejmo si podrobneje konfiguracijo strežnika na primeru Ubuntu Server 18.04 in se nato poskusimo povezati s strežnikom iz Linuxa in Windows.
Vse, kar bomo počeli, bomo izvajali iz računa običajnega uporabnika. V tem primeru smo ustvarili uporabnika » mihail «, račun » root « pa je privzeto onemogočen.
Nastavitev na strani strežnika
Nastavite paket, ki izvaja ta ukaz:
sudo apt install openssh-server
Ko je namestitev končana, se prepričajte, da storitev deluje. Uporabite ta ukaz:
systemctl status sshd
Stanje » Aktivno (izvaja se) « pomeni, da je storitev omogočena in deluje normalno.
Če se želite izogniti blokiranju dohodnih povezav s strani požarnega zidu, ga onemogočite, ker v tem članku ne bomo konfigurirali omrežnega požarnega zidu.
Uporabite ta ukaz:
sudo ufw disable
Na tej stopnji se že lahko povežete s strežnikom. S privzetimi nastavitvami strežnik omogoča povezavo na standardna vrata 22 z avtentikacijo na podlagi gesla.
SSH povezava iz Linuxa
Odjemalec OpenSSH je praviloma privzeto nameščen v sistemu Linux in ne zahteva dodatne ročne konfiguracije. Povezavo je mogoče vzpostaviti s terminala s pomočjo ukaza ssh. Parametra bi bila v tem primeru uporabniško ime in naslov IP oddaljenega strežnika. Na našem testnem strežniku, ki ga uporabljamo kot primer, je samo en račun »mihail«, zato bomo uporabili tega.
ssh [email protected]
Ob prvi povezavi boste morali potrditi dodajanje javnega ključa strežnika v bazo podatkov, zato odgovorite z » da «. Nato lahko vnesete geslo. Če je povezava uspešno vzpostavljena, boste videli pozdravno besedilo ukazne vrstice strežnika. Zdaj se bodo vsi ukazi izvajali neposredno na oddaljenem strežniku.
SSH iz sistema Windows
Odprite Putty in nastavite parametre povezave. Prepričajte se, da je stikalo » Vrsta povezave « obrnjeno na SSH . V polje » Ime gostitelja « vnesite IP-naslov , v polje » Vrata « privzeto vrednost 22 in kliknite » Odpri «.
Ob prvi povezavi vas bo Putty vprašal, ali zaupate temu strežniku, zato kliknite » Da «.
Ko vnesete prijavo in geslo, boste videli ukazno vrstico oddaljenega strežnika.
Avtentikacija po ključu. Povečanje stopnje varnosti
Ko poskuša odjemalec vzpostaviti varno povezavo s strežnikom prek SSH, mora strežnik pred dovolitvijo povezave potrditi (preveriti) odjemalca. Kot smo že omenili, se običajno privzeto uporablja preverjanje pristnosti na podlagi gesla. Ne zagotavlja robustne varnosti, ker vedno obstaja način, da jo bruteforcerate. Poleg tega preverjanje pristnosti z geslom ni uporabno za povezave SSH z uporabo skriptov.
Za to vrsto nalog obstaja posebna metoda avtentikacije po ključu. Bistvo je, da odjemalec ustvari zasebne in javne ključe, nato pa se javni ključ pošlje strežniku. Po tem za povezavo s strežnikom ne potrebujete gesla, saj se avtentikacija izvaja na podlagi javnih in zasebnih ključev odjemalca. Za zagotavljanje dobre stopnje varnosti mora biti dostop do zasebnega ključa omejen. Zaradi dejstva, da je zasebni ključ shranjen na odjemalčevi strani in se ne prenaša po omrežju, je ta metoda bolj varna.
Preverjanje pristnosti s ključem v sistemu Linux
Ustvarimo javne in zasebne ključe na odjemalcu s pomočjo programske opreme ssh-keygen. Orodje bo predlagalo spremembo poti do zasebnega ključa in vneslo geslo za dodatno varnost. Pustite vse parametre privzete tako, da ob vseh zahtevah pritisnete Enter.
Posledično boste v domačem imeniku v mapi .ssh našli dve ustvarjeni datoteki: id_rsa in id_rsa.pub , ki vsebujeta zasebne in javne ključe.
Nato boste morali poslati javni ključ na strežnik. Če želite to narediti, kopirajte vsebino datoteke » id_rsa.pub « v datoteko » ~/.ssh/authorized_keys « na strežniku. Pojdimo po najlažji poti s pomočjo orodja » ssh-copy-id «. Vnesite prijavo in IP-naslov strežnika, tako kot pri običajni povezavi. Ko vnesete geslo, se bo javni ključ odjemalca samodejno kopiral na strežnik. Zaženite ta ukaz:
ssh-copy-id [email protected]
Ko vse to storite, strežnik ne bo več zahteval vnosa gesla.
Preverjanje pristnosti s ključem v sistemu Windows
Odprite PUTTYGEN in kliknite » Generiraj «. Za generiranje ključev morate le premakniti miško čez zaslon in orodje bo naključno generiralo ključe.
Ko so ključi ustvarjeni, kliknite » Shrani zasebni ključ « in ga shranite v datoteko z zasebnim ključem na disku. Pot lahko nastavite poljubno, vendar jo boste morali nekoliko kasneje določiti v Puttyju. Nato kopirajte javni ključ z vrha okna.
Javni ključ bomo poslali tako, da ga preprosto kopiramo v terminal. Odprite Putty in se kot običajno povežite s strežnikom. Zdaj ustvarimo datoteko » .ssh/authorized_keys « in drugim uporabnikom omejimo dostop do nje, tako da bo na voljo samo ustvarjalcu.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Ko ustvarite datoteko, vanjo vstavite odjemalčev javni ključ. Na prejšnji stopnji smo kopirali javni ključ v odložišče. Za snemanje tega, kar je v odložišču, v datoteko uporabite ukaz cat in preusmeritev izhoda.
cat > .ssh/authorized_keys
Ko vnesete ukaz, kliknite z desno tipko miške v terminalsko okno in prilepite vsebino iz odložišča. Za potrditev vnosa pritisnite bližnjico » Ctrl+D « in se prekinite s strežnikom.
Zdaj pa določimo pot do zasebnega ključa v Putty in se ponovno povežimo s strežnikom.
Od zdaj naprej boste morali za povezavo s strežnikom vnesti le uporabniško ime. Če se poskušate povezati s strežnikom iz druge naprave, ki nima pravega zasebnega ključa, bo strežnik zahteval geslo. Ko je nastavljeno preverjanje pristnosti na podlagi ključa, lahko onemogočite dostop z geslom.