Ha távoli munkát végzel Linux szervereken (vagy konténereken), valószínűleg azt feltételeznéd, hogy ez alapvetően biztonságos. Sajnos ez tévhit. Bár a Secure Shell biztonságosabb, mint a régebbi Telnet megoldások, további lépéseket kell tenned a rendszereid és az adatok biztonsága érdekében.

Alapértelmezetten a Secure Shell felhasználónévvel és jelszóval működik. Tehát ha a ssh [email protected] parancsot használod, bekérésre kerül a „ralph” felhasználó jelszava a „pelda.com” szerveren.

Azonban van egy jobb mód, ami kevésbé sebezhető a szerver megsértése esetén. Ez a megoldás SSH kulcsos azonosításnak nevezik.

Az SSH kulcsos azonosítás egy olyan kulcspár alapú rendszer, amely a helyi számítógépen generálja a kulcsokat. A kulcspár magában foglal egy privát kulcsot és egy publikus kulcsot. A privát kulcs biztonságosan megmarad a helyi számítógépen, míg a publikus kulcsot elküldik a távoli szerverre, amelyhez hozzáférést szeretnél. Amikor a kulcsok konfigurálva vannak, minden alkalommal, amikor bejelentkezel a szerverre, a kulcsokat felismerik és ellenőrzik, hogy illeszkednek-e egymáshoz. Ha a kulcsok illeszkednek, hozzáférést kapsz a szerverhez. Ha a kulcsok nem illeszkednek, akkor nem lesz szerencséd.

Ez a megoldás lényegesen biztonságosabb, mint a hagyományos felhasználónév és jelszó alapú azonosítás, és minden Linux szerveren használni kellene.

Megmutatom neked, hogyan lehet beállítani az SSH kulcsos azonosítást.

Mire lesz szükséged?

Az előadás elvégzéséhez legalább két Linux gépre lesz szükséged – egy lokálisra és egy távolira. Mivel minden parancssorból történik, nem kell beállítanod grafikus környezetet. Természetesen szükséged lesz a távoli szerver IP címére vagy domainjére, és a helyi gépnek képesnek kell lennie a távoli hozzáférésre a távoli szerverhez.

Generálj egy SSH kulcspárt

Az első dolog, amit meg kell tenned, az SSH kulcspár generálása. Ezt a helyi számítógépen hajtsd végre. Jelentkezz be a gépre és hozz létre egy kulcspárt a következő parancs segítségével:

ssh-keygen

Meg kell adnod, hogy hova mentse a kulcsot (az alapértelmezett hely ~/.ssh) és meg kell adnod és megerősítened kell egy jelszót a kulcspárhoz. Győződj meg arról, hogy erős/egyedi jelszót használsz.

A fenti parancs két fájlt generál: id_rsa (a privát kulcs) és id_rsa.pub (a publikus kulcs).

Másold át a kulcsot a távoli gépre

A következő lépés, hogy másold át a publikus kulcsot a távoli gépre. Szerencsére az SSH-nek beépített funkciója van, amely megkönnyíti ezt a feladatot. A kulcs másolásához egyszerűen futtasd a következő parancsot:

ssh-copy-id FELHASZNÁLÓ@SZERVER

Ahol a FELHASZNÁLÓ a Linux felhasználóneved, a SZERVER pedig a távoli szerver IP címe vagy domainje. Bekérésre kerül a távoli felhasználó SSH jelszava. Sikeres hitelesítés után a publikus kulcs elmentésre kerül a ~/.ssh könyvtárban a távoli szerveren.

Akkor tesztelheted az SSH kulcsos azonosítást azzal, hogy megpróbálod újra bejelentkezni a távoli gépre a következő paranccsal:

ssh FELHASZNÁLÓ@SZERVER

Ahol a FELHASZNÁLÓ a felhasználónév, a SZERVER pedig a távoli szerver IP címe vagy domainje. Ezúttal a SSH kulcs jelszavát kell megadnod (nem a felhasználó jelszavát).

Gratulálok, az SSH kulcsos azonosítás működik!

De tovább fokozhatjuk a biztonságot.

Konfiguráld az SSH szervert a növelt biztonság érdekében

Miután elkészültél a kulcspárokkal és másoltad a publikus kulcsot a szerverre az összes kliens gépről, amelyeknek hozzáférése van a távoli szerverhez, folytathatod a következő lépéssel. Ha ezt nem teszed meg, akkor azt tapasztalod, hogy ezekkel a gépekkel nem lesz lehetőség a bejelentkezésre (még akkor sem, ha helyes felhasználói fiókokkal rendelkeznek). Az egyetlen mód az aktuális probléma megkerülésére az lenne, ha manuálisan másolnád a SSH publikus kulcs tartalmát a kliens gépről a ~/.ssh/authorized_keys fájlba a szerveren.

A következő lépésünk az, hogy engedélyezzük a publikus kulcsos azonosítást és letiltjuk a jelszó alapú azonosítást (a távoli szervert használva).

Nyisd meg az SSH daemon konfigurációs fájlját (a távoli szerveren) a következő paranccsal:

sudo nano /etc/ssh/sshd_config

Először találd meg a sort:

# PubkeyAuthentication yes

Változtasd meg ezt a sort a következőre:

PubkeyAuthentication yes

Aztán találd meg a sort:

# PasswordAuthentication yes

Változtasd meg ezt a sort a következőre:

PasswordAuthentication no

Mentsd el és zárd be a fájlt.

Indítsd újra az SSH-t a következő paranccsal:

sudo systemctl restart sshd

Mielőtt megszakítanád a jelenlegi kapcsolatot, nyiss egy új terminál ablakot (a gépen, amelyre másoltad a publikus kulcsot a szerverre) és próbálj meg újra bejelentkezni az SSH segítségével. Ha hozzáférést kapsz, akkor bizonyítottad, hogy az SSH-n keresztül csak kulcsos azonosítással jelentkezhetsz be.

Mostantól minden bejelentkezési kísérlet Linux szerveredbe, amely nem illeszkedik a kulcsokhoz, elutasításra kerül.

GYIK

1. Milyen megoldások nyújtanak szerverbiztonságot?
Az SSH kulcsos azonosítás megoldások biztosítanak szerverbiztonságot.

2. Hogyan működik az SSH kulcsos azonosítás?
Az SSH kulcsos azonosítás egy kulcspáron alapul: privát és publikus. A privát kulcs a helyi számítógépen marad, míg a publikus kulcsot elküldik a távoli szerverre. A kulcsok bejelentkezéskor hitelesítik egymást, hogy megállapítsák, illeszkednek-e egymáshoz.

3. Miért biztonságosabb az SSH kulcsos azonosítás a hagyományos felhasználónév és jelszó alapú azonosításnál?
Az SSH kulcsos azonosítás biztonságosabb, mert nem igényel jelszó megadását a bejelentkezéskor. A privát kulcs a helyi számítógépen marad, ami megnehezíti a jogosulatlan személyek számára a hozzáférést.

4. Hogyan generálhatok egy SSH kulcspárt?
Az SSH kulcspárt generálhatsz a helyi számítógépen a „ssh-keygen” parancs segítségével.

5. Hogyan másolhatom át a publikus kulcsot egy távoli gépre?
A publikus kulcsot át tudod másolni egy távoli gépre a „ssh-copy-id FELHASZNÁLÓ@SZERVER” parancs segítségével.

6. Hogyan konfigurálhatom az SSH szervert a növelt biztonság érdekében?
Az SSH szervert növelt biztonság érdekében úgy kell konfigurálnod, hogy engedélyezd a publikus kulcsos azonosítást, és letiltsd a jelszó alapú azonosítást az SSH daemon konfigurációs fájljában.

7. Hogyan indíthatom újra az SSH-t a konfigurációban végzett változtatások után?
Az SSH-t az „sudo systemctl restart sshd” parancs segítségével indíthatod újra.

Definíciók

Secure Shell (SSH) – egy biztonságos kommunikációs protokoll hálózati kapcsolatokhoz. Gyakran használják távoli bejelentkezéshez szerverekre.

Privát kulcs – egy titkos titkosítási kulcs, amely a helyi számítógépen marad. Az elrejtett adatok feloldására szolgál.

Publikus kulcs – egy titkosítási kulcs, amelyet a távoli szerverre küldenek. Az SSH kulcsos azonosításban használják.

Azonosítás – a felhasználó vagy rendszer azonosságának ellenőrzésének folyamata.

Konzol – a

The source of the article is from the blog qhubo.com.ni