SSH Linux szerveren
SSH, más néven secure shell, egy olyan protokoll, amellyel szerverekhez lehet csatlakozni és kommunikálni velük. Ön csatlakozhat a Linux szerveréhez egy terminál munkamenethez ezen a titkosított protokollon keresztül. Ha OpenSSH szervert használ, alapvetően két különböző módon végezheti el a hitelesítési folyamatot. Az első a hagyományos jelszóalapú hitelesítés. Itt egyszerűen a felhasználónevét és jelszavát használja a fiókjához való hozzáféréshez. A másik lehetőség, hogy beállítja a Linux szerverét SSH kulcsalapú hitelesítésre.
Ebben az útmutatóban arra fogunk összpontosítani, hogyan konfigurálhatja Linux szerverét úgy, hogy az SSH-kulcsokat használja elsődleges hitelesítési eszközként. Arról is szó lesz, hogy miért részesítik előnyben az SSH-kulcsokat a szokásos jelszavas védelmi mechanizmussal szemben.
Mik azok az SSH-kulcsok?
Az SSH-kulcsok hasonlóak azokhoz a hitelesítő adatokhoz, amelyeket a szerveren lévő fiókjába való bejelentkezéshez használna. A felhasználónév és a jelszó megadása helyett az SSH-kulcspárt használja, amely szintén egy hozzáférési hitelesítő adat. Bár a kulcsok kriptográfiai jellegűek, hitelesítési adatokként kell kezelnie őket, mivel ezt a célt szolgálják.
Egy tipikus SSH-kulcs két részből áll: egy engedélyezett kulcsból és egy azonosító kulcsból. Az engedélyezett kulcs a nyilvános kulcs, amely a privát azonosító kulcsával együttműködve biztosít hozzáférést a fiókhoz. A nyilvános kulcs azon a távoli szerveren található, amelyre SSH-val be szeretne jelentkezni, és a felhasználói fiókjához társított ~/.ssh/authorized_keys fájlban marad. Az azonosító kulcsok az Ön személyazonosságának igazolására szolgálnak, mint megfelelő felhasználó, biztosítva, hogy csak az arra jogosult személyek férhessenek hozzá az adott fiókhoz. Összefoglaló néven ezeket a kulcsokat felhasználói kulcsoknak nevezik, mivel a felhasználó személyazonosságát hitelesítik. Miután a szerver képes ellenőrizni mindkét kulcsot, elindul egy shell munkamenet a parancsok végrehajtásához.
Rendelkezik továbbá gazdagép-kulcsokkal és munkamenet-kulcsokkal is. A protokoll a gazdagép-kulcs segítségével hitelesíti a helyi számítógépet, rendszert vagy szervert. A munkamenet-kulcsok segítenek titkosítani a kapcsolaton keresztüli adatfolyamot. Ez sokkal biztonságosabbá teszi a munkamenetet és a kapcsolódó tevékenységeket.
SSH-kulcsok a jelszavas védelemmel szemben
A fő ok, amiért az SSH-kulcsalapú hitelesítés előnyösebb a jelszavas védelemmel szemben, az az, hogy az utóbbi sebezhetővé teheti Önt a kibertámadásokkal szemben. A legtöbb ember nem használ rendkívül bonyolult jelszavakat, hogy emlékezzen rájuk, amikor be kell jelentkeznie. Ennek eredményeként ez sebezhetőséget teremt. Sok támadó erőszakos módszereket alkalmaz a viszonylag egyszerű jelszó feltörésére és a fiókba való bejutásra. Ez manapság különösen egyszerűvé vált az automatizálás és a fejlett hackelési technológiák miatt.
Az SSH-kulcsok ezzel szemben sokkal biztonságosabb módot kínálnak a fiókjához való hozzáférésre. Mint korábban említettük, ez a módszer egy nyilvános és egy privát kulcsot használ az ügyfél személyazonosságának hitelesítésére. Bár a nyilvános kulcsot bárkivel megoszthatja, a privát kulcsot titokban kell tartania. Párosításkor a nyilvános kulcs dekódolja a privát kulcsot a személyazonosság hitelesítéséhez. Ezenkívül a védelmet tovább fokozhatja egy jelmondat hozzáadásával a kulcspárhoz. A jelmondatról az útmutató későbbi részében részletesebben is szót ejtünk. Azonban a jelmondat nélkül is a privát SSH-kulcsa rendkívül biztonságban van a helyi számítógépén. A hálózat soha nem képes közvetlenül hozzáférni a kulcshoz, amely egy korlátozott könyvtárban található, és korlátozott jogosultságokkal van ellátva.
SSH-kulcsok generálása
Az SSH-kulcspár generálásához meg kell keresnie az OpenSSH eszközkészletben az ssh-keygen eszközt. Ez egy speciális segédprogram, amellyel egy körülbelül 2048 bites SSH-kulcspárt generálhat. Kezdje a következő parancs futtatásával:
|
1 |
ssh-keygen |
Ez a következő üzenetet fogja megjeleníteni:
|
1 2 |
Generálás nyilvános/privát rsa kulcs pár. Adja meg fájl ebben melyik ide menteni a kulcs (/home/username/.ssh/id_rsa): |
Az üzenet generálni fog egy id_rsa nevű privát kulcsot és egy id_rsa.pub nevű nyilvános kulcsot. Ezen a ponton kiválaszthatja, hová szeretné helyezni a kulcsot. Javasoljuk, hogy az Enter billentyű megnyomásával maradjon az alapértelmezett helyen. Az alapértelmezett hely megtartása biztosítja, hogy a szerver automatikusan megtalálja és ellenőrizze a kulcsokat, amikor az adott rendszer használatával jelentkezik be. Az alapértelmezett hely a ~/.ssh könyvtár a saját (home) könyvtárban. Ha másik helyet szeretne választani, gépelje be a helyet.
Régebbi SSH-kulcsok felülírása
Fontos megjegyezni, hogy a rendszeren egyszerre csak egy SSH-kulcspár lehet. Ez azt jelenti, hogy ha korábban már generált és mentett egy kulcspárt a rendszeren, a következő üzenet fog megjelenni:
|
1 2 |
/home/username/.ssh/id_rsa már létezik. Felülírás (y/n)? |
Az új SSH-kulcspár létrehozásának és mentésének folytatásához törölnie kell a meglévőt. Ne feledje: ha felülírja a lemezen már elmentett kulcsot, a továbbiakban nem használhatja azt hitelesítésre. Ez egy visszafordíthatatlan folyamat, ezért győződjön meg róla, hogy teljesen biztos benne, hogy felül akarja írni a régi kulcspárt.
Jelszó beállítása
Miután beállította a kulcsokat a könyvtárban, a rendszer megkérdezi, hogy meg szeretne-e adni egy jelszót:
|
1 2 3 |
Létrehozva könyvtár '/home/username/.ssh'. Adja meg a jelszót (üresen a kihagyáshoz jelszó): Adja meg a ugyanazt a jelszót újra: |
A jelszó megadása opcionális - dönthet úgy is, hogy kihagyja. Ez azonban egy extra biztonsági réteget jelent a privát kulcsa számára azáltal, hogy titkosítja azt a lemezen. Ha a jelszó használata mellett dönt, azt minden alkalommal helyesen kell megadnia, amikor ezzel az SSH-kulcspárral próbál bejelentkezni:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Az Ön azonosítója el lett mentve a helyre /home/username/.ssh/id_rsa. Az Ön nyilvános kulcsa el lett mentve a helyre /home/username/.ssh/id_rsa.pub. A kulcs ujjlenyomata a következő: a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 username@remote_host A kulcs's randomart ábrája a következő: +--[ RSA 2048]----+ | ..o | | E o= . | | o. o | | .. | | ..S | | o o. | | =o.+. | |. =++.. | |o=++. | +-----------------+ |
Végezetül, most már rendelkeznie kell az SSH-kulcsokkal, amelyeket a kliens hitelesítésére használhat.
Az SSH-kulcs beágyazása a szerverfiókba
Mielőtt a kulcsokat hitelesítésre használná, be kell ágyaznia a nyilvános kulcsot a távoli Linux szerveren. A következőkben megmutatjuk, hogyan teheti ezt meg a CloudSigma szerver létrehozásakor. Először meg kell találnia a nyilvános SSH-kulcsát, hogy kimásolhassa és beilleszthesse azt. Ha a fenti módszert használta az SSH-kulcspár generálására, a nyilvános kulcsot a következő beírásával találhatja meg:
|
1 |
cat ~/.ssh/id_rsa.pub |
Ez azt eredményezi, hogy a nyilvános SSH-kulcs így jelenik meg:
|
1 |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNqqi1mHLnryb1FdbePrSZQdmXRZxGZbo0gTfglysq6KMNUNY2VhzmYN9JYW39yNtjhVxqfW6ewc+eHiL+IRRM1P5ecDAaL3V0ou6ecSurU+t9DR4114mzNJ5SqNxMgiJzbXdhR+j55GjfXdk0FyzxM3a5qpVcGZEXiAzGzhHytUV51+YGnuLGaZ37nebh3UlYC+KJev4MYIVww0tWmY+9GniRSQlgLLUQZ+FcBUjaqhwqVqsHe4F/woW1IHe7mfm63GXyBavVc+llrEzRbMO111MogZUcoWDI9w7UIm8ZOTnhJsk7jhJzG2GpSXZHmly/a/buFaaFnmfZ4MYPkgJD username@example.com |
Másolja ki ezt az értéket a későbbi használathoz. Ha szervert hoz létre a CloudSigma segítségével, lehetősége van SSH-kulcs hozzáadására, miután kiválasztotta a szerver méretét és az operációs rendszer képfájlját:

Kattintson az Add (Hozzáadás) gombra, és illessze be a kimásolt tartalmat az SSH-kulcs szerverbe történő beágyazásához. Ennek eredményeként a szerver minden egyes indításakor már rendelkezni fog a beágyazott SSH-kulccsal.
Nyilvános kulcs másolása egy meglévő szerverre
Bár a fenti módszer új szerver létrehozásakor működik, lehetséges-e SSH-kulcsot beágyazni egy már meglévő szerverbe? A válasz igen, és ennek elvégzésére több módszer is létezik, attól függően, hogy milyen eszközök állnak a rendelkezésére.
Az SSH-Copy-ID használata
Ez a legegyszerűbb és legkönnyebb módja a nyilvános kulcs másolásának. Mindössze az ssh-copy-id segédprogramra van szüksége, amelyet a szabványos OpenSSH csomagban talál meg. Mielőtt azonban ezt a módszert alkalmazná, győződjön meg arról, hogy a jelszóalapú hitelesítés engedélyezve van a szerverén. A kulcs másolásához alkalmazza az ssh-copy-id szintaxist, majd adja meg a távoli gazdagépet, amelyhez csatlakozni szeretne. Meg kell adnia azt a fiókot is, amelyhez csatlakozik. Jelszóalapú hozzáféréssel kell rendelkeznie a fiókhoz, hogy a kulcs a megfelelő helyre kerüljön másolásra. A parancsnak így kell kinéznie:
|
1 |
ssh-copy-id username@remote_host |
Ez a következőhöz hasonló üzenet megjelenését eredményezheti a képernyőn:
|
1 2 3 |
A hitelesség of gazdagép '111.111.11.111 (111.111.11.111)' can't be megállapítva. ECDSA kulcs ujjlenyomat is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Biztos Ön biztos Ön akarja to folytatni kapcsolódást (igen/nem)? igen |
Ez általában akkor fordul elő, ha először csatlakozik az adott távoli gazdagéphez. Ez egyszerűen azt jelenti, hogy a számítógép nem ismerte fel a gazdagépet. Mindössze annyit kell tennie, hogy beírja a „yes” szót, és megnyomja az Enter billentyűt. Miután ezt megtette, az eszköz átvizsgálja a fiókot, hogy megtalálja a nyilvános kulcsát. Miután megtalálta, kérni fogja a fiók jelszavának megadását:
|
1 2 3 |
/usr/bin/ssh-copy-id: INFO: kísérlet to bejelentkezésre in a the új kulcs(s), to kiszűrésére out bármelyik amely már telepítve van /usr/bin/ssh-copy-id: INFO: 1 kulcs(s) maradt to be telepítendő -- ha Ön felkérést kap most az azért van hogy telepítse az új kulcsokat username@111.111.11.111's jelszó: |
Ezután megadhatja a jelszavát. Amikor csatlakozik a fiókjához, az eszköz átmásolja a ~/.ssh/id_rsa.pub kulcs tartalmát, és beilleszti az authorized_keys fájlba a távoli fiók ~/.ssh könyvtárában. Ezután a következő üzenetet fogja látni:
|
1 2 3 |
Szám of kulcs(s) hozzáadva: 1 Most próbálja bejelentkezés be a gép, ezzel: "ssh 'username@111.111.11.111'" és ellenőrizze hogy meggyőződjön róla hogy csak a kulcs(s) Ön akart voltak hozzáadva. |
Ez azt jelenti, hogy sikeresen átmásolta a nyilvános kulcsát a meglévő távoli szerverére.
Az SSH használata
Ez egy meglehetősen hagyományos módszer a nyilvános kulcs szerverre történő másolására. Célszerű ezt használni, ha nem fér hozzá az ssh-copy-id eszközhöz. Ebben az esetben is jelszóalapú hozzáféréssel kell rendelkeznie a fiókjához. Lényegében azt teszi, hogy a nyilvános kulcs tartalmát kimenetként jeleníti meg a számítógépén, és a köztük létrejött SSH-kapcsolaton keresztül továbbítja a távoli szerverre. Az erre a célra használandó parancsnak a következőnek kell lennie:
|
1 |
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" |
Amint láthatja, megadtuk, hogy a kulcsot a szerveren lévő ~/.ssh könyvtárban található authorized_keys fájlba kell helyezni. A >> szimbólum használata azt is biztosítja, hogy kulcsokat adunk hozzá ahelyett, hogy felülírnánk őket. A parancs futtatása után a következő üzenet jelenhet meg:
|
1 2 3 |
A hitelessége a hosztnak '111.111.11.111 (111.111.11.111)' nem'lehet megállapítani megállapítva. ECDSA kulcs ujjlenyomat a fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Biztos benne hogy szeretné folytatni a kapcsolódást kapcsolódást (igen/nem)? igen |
Az előző üzenethez hasonlóan ez azt jelenti, hogy a számítógép nem ismerte fel a távoli hosztot. Írja be, hogy „yes”, majd nyomja meg az Enter billentyűt a folytatáshoz. Most meg kell adnia a fiók jelszavát:
|
1 |
username@111.111.11.111's jelszava: |
A jelszó ellenőrzése után a kulcs a megadottak szerint átmásolásra kerül a felhasználói fiókjában lévő fájlba.
Manuálisan
Abban az esetben, ha nem rendelkezik jelszóalapú hozzáféréssel a távoli szerveren lévő fiókjához, manuálisan is átmásolhatja a nyilvános kulcsot. A cél az, hogy az id_rsa.pub fájlban lévő érték a távoli eszközön lévő ~/.ssh/authorized_keys fájlba kerüljön. Mint már tudjuk, az id_rsa.pub kulcs értékét a következő paranccsal jeleníthetjük meg:
|
1 |
cat ~/.ssh/id_rsa.pub |
Az SSH nyilvános kulcsának tartalma így fog megjelenni:
|
1 |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== demo@test |
Ezután bármilyen rendelkezésre álló módon hozzá kell férnie a távoli hoszton lévő fiókjához. Bejelentkezés után ellenőrizze, hogy létezik-e a ~/.ssh könyvtár. Ha nem, a következő paranccsal létrehozhatja:
|
1 |
mkdir -p ~/.ssh |
Most ezzel a paranccsal hozzáadhatja az id_rsa.pub fájl tartalmát a távoli szerver ~/.ssh könyvtárában található authorized_keys fájlhoz:
|
1 |
echo public_key_string >> ~/.ssh/authorized_keys |
A „public_key_string” beírása helyett a korábban futtatott cat ~/.ssh/id_rsa.pub paranccsal kinyert kulcs tartalmát kell megadnia.
Hitelesítés az SSH-kulccsal
Most már könnyedén beléphet a fiókjába kizárólag az SSH-kulcsai használatával. Ez azt jelenti, hogy a szerverfiókjához való hozzáféréshez már nincs szüksége a jelszavára. Azokat a hitelesítési adatokat fogja használni, amelyeket általában a bejelentkezéshez használ:
|
1 |
ssh username@remote_host |
Ez a következő üzenet megjelenését okozhatja:
|
1 2 3 |
A hitelessége a gazdagépnek '111.111.11.111 (111.111.11.111)' nem'lehet megállapítani megállapítva. ECDSA kulcs ujjlenyomat a fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Biztos benne, hogy szeretné folytatni a kapcsolódást kapcsolódás (yes/no)? yes |
Ne aggódjon, ha ezt az üzenetet látja. Ez egyszerűen azt jelenti, hogy a helyi rendszer nem képes felismerni a távoli gazdagépet. Ez általában akkor fordul elő, ha legelőször csatlakozik a gazdagéphez. Mindössze annyit kell tennie, hogy beírja a „yes” szót, és megnyomja az Enter billentyűt. Visszatérve a korábbi lépések némelyikére, ha jelszót (passphrase) adott meg, itt kell majd beírnia azt. Ha nem tett így, az SSH-kulcsok hitelesítése után azonnal bejelentkezik a fiókjába. Ez egy új shell-munkamenet megnyitását eredményezi a helyi számítógépen lévő jelenlegi fiókján keresztül.
Hogyan tiltható le a jelszavas hitelesítés a szerveren?
Most, hogy már tudja, hogyan kell beállítani az SSH-kulcsokat, le kell tiltania a jelszavas hitelesítést. Még ha képes is az SSH-kulcsokat használni a hitelesítéshez, továbbra is sebezhető a brute force (nyers erővel történő) támadásokkal szemben, ha a jelszavas hitelesítési folyamat aktív. Mielőtt letiltaná a jelszavas hitelesítési mechanizmust, győződjön meg arról, hogy az SSH-kulcs alapú hitelesítés konfigurációja a szerver root fiókjára vonatkozik, vagy hogy a konfigurált fiók rendelkezik sudo hozzáféréssel. Ennek megerősítése azért fontos, hogy biztosan megőrizze az adminisztrátori hozzáférést a fiókhoz még a jelszavak letiltása után is. Most már használhatja ezt az SSH-kulcsot a szerverfiókjába való bejelentkezéshez. A következő lépés az SSH démon konfigurációs fájljának megnyitása:
|
1 |
sudo nano /etc/ssh/sshd_config |
Itt a következő direktívát kell megkeresnie:
|
1 |
PasswordAuthentication |
Ki kell vennie a megjegyzésből ezt a sort, és az értéket „no”-ra kell állítania az alábbiak szerint:
|
1 |
PasswordAuthentication no |
Ezzel letiltja a jelszóalapú hitelesítést. Egyszerűen mentse el a fájlt, majd zárja be, ha végzett. Végezetül újra kell indítania az eszközt a módosítások alkalmazásához. Ha Ubuntu vagy Debian eszközt használ, a következő paranccsal is letilthatja a jelszóalapú belépést:
|
1 |
sudo service ssh restart |
Annak biztosítására, hogy a démon (vagy sshd) csak az SSH-alapú hitelesítést engedélyezze a CentOS vagy Fedora rendszerű szervereken, használja a következő parancsot:
|
1 |
sudo service sshd restart |
Összegzés
Miután elvégezte ezeket a lépéseket, az SSH-kulcs alapú hitelesítésnek konfigurálva kell lennie és futnia kell a szerverén. Most már nyugodt lehet, hogy szerverei biztonságban vannak és védettek!
Kellemes használatot!
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.