Az SSH egy biztonságos hálózati protokoll a hálózat távoli számítógépeinek eléréséhez.
A számítógépek hálózatokon keresztül beszélnek egymással. Ezért a hálózatkutatók szabályokat határoztak meg a más gépekkel való kommunikációhoz, és olyan protokollokat kezdtek fejleszteni, mint a Telnet; ennek segítségével az egyik felhasználó átveheti az irányítást egy másik számítógép felett.
De nem biztonságosak, azaz a hálózat közepén bárki elfoghatja és elolvashatja az átvitt adatokat. A 90-es évek közepén a telnet protokoll megbízható utódjaként bevezették az ssh nevű, biztonságosabb protokollt.
Ha Ön szoftverfejlesztő vagy rendszergazda, aki egy iparágban dolgozik, előfordulhat, hogy legalább egyszer használta az ssh-t. Ha nem, akkor most tanuljuk meg, hiszen ez az egyik kötelező ismeret.
Tartalomjegyzék
Mi az az SSH?
Az SSH vagy Secure Shell vagy Secure Socket Shell egy hálózati protokoll, amely segít a távoli gépek (főleg távoli szerverek) biztonságos elérésében és kommunikációjában.
Erős titkosítást biztosít, és a hálózati rendszergazdák és fejlesztők széles körben használják távoli rendszerek és alkalmazások kezelésére, parancsok végrehajtására, fájlok megosztására stb.
SSH szükséges
Az SSH-t 1995-ben hozták létre, hogy megoldja a biztonsági problémákat, amelyekkel a nem biztonságos távoli hozzáférési protokollok (pl rlogin, rsh, Telnet.
Most beszéljünk a Telnetről, amely az 1969-ben kifejlesztett Teletype Network rövidítése. Ez egy egyszerű parancssori eszköz, amely a számítógépen fut távoli szerver eléréséhez (bárhol a világon). És küldjön parancsokat, amelyeket a szerveren kell végrehajtani, mintha közvetlenül a távoli szerver előtt ülne (akár mérföldekre is a szervertől). A Telnet hálózaton keresztül egyszerű szöveges üzeneteket küld és fogad.
A végrehajtandó parancsok lehetnek programok futtatása, könyvtárak létrehozása, fájlok létrehozása/törlése/átvitele, szolgáltatások indítása/leállítása stb.
Egy másik gép hálózathoz való csatlakoztatásával az a probléma, hogy az átvitt adatok sok hálózaton keresztül fognak haladni. Időközben ezek közül néhány bizonytalan lehet, és a továbbító adatokat el lehet fogni, esetleg módosítani, mielőtt azok elérnék a célgépet.
A kezdeti időkben, amikor a biztonság nem volt annyira fontos, minden kommunikáció egyszerű szövegben zajlott. Így az interneten keresztül az ügyfél és a szerver között továbbított adatok könnyen lehallgathatók. És olvasható, mivel az üzenetek nincsenek titkosítva.
Ezért a nyílt szöveges protokollok rendkívül nem biztonságosak, és soha nem használhatók érzékeny adatok, például jelszavak, titkok stb. továbbítására. Ezért az SSH-t a régebbi távoli elérési hálózati protokollok biztonságos alternatívájának tekintik.
Hogyan működik?
Az SSH kliens-szerver architektúrát használ a hálózaton keresztüli biztonságos kommunikációhoz az ssh-kliens és az ssh-kiszolgáló összekapcsolásával. Alapértelmezés szerint az ssh-kiszolgáló a szabványos 22-es TCP-portra figyel (ez a jobb biztonság érdekében módosítható).
Nyilvános kulcsú titkosítási technikát használ az ügyfél és a szerver közötti hitelesítéshez. Ezenkívül a protokoll erős szimmetrikus titkosítási és kivonatolási algoritmusokat használ a kliens és a szerver közötti üzenetváltáshoz, hogy biztosítsa a magánélet védelmét és az adatok integritását.
Biztonsága és tartóssága miatt a Linux a távoli szerverek széles körben használt operációs rendszere. Sok Linux operációs rendszert használó szerver az interneten évek óta fut sok hiba vagy akár újraindítás nélkül.
A legtöbb SSH-munkamenet (az az időszak, amikor elérjük a távoli kiszolgálót) csak a következő két művelettel rendelkezik:
- Hitelesítés
- Parancs végrehajtása
Az SSH-kiszolgálók számos módszerrel hitelesíthetik az ügyfeleket.
És a két népszerű módszer a következő:
A jelszó alapú hitelesítés az alapértelmezett hitelesítési módszer OpenSSH telepített kliensek. Ez a legalapvetőbb ssh-hitelesítés, de nem a legbiztonságosabb.
Annak ellenére, hogy a jelszavakat biztonságosan küldik el a szervernek, a modern brute force támadások megkerülhetik a hitelesítést.
A kulcs alapú hitelesítés SSH kulcspárok generálásával még tovább javítja a rendszer biztonságát, ami megbízható és biztonságos alternatívának bizonyul.
Miután a szerver sikeresen hitelesítette a klienst, biztonságos kapcsolat jön létre közöttük.
Távoli kiszolgáló elérése SSH használatával
Ha Ön Mac/Linux felhasználó, közvetlenül használhatja a terminált ssh parancsok begépelésére és futtatására, mivel az OpenSSH alapértelmezés szerint már telepítve van.
Ha Ön Windows-felhasználó, telepítenie kell egy harmadik féltől származó terminálemulátor-ügyfelet az ssh-parancsok futtatásához. Gitt a legnépszerűbb ssh kliens Windows operációs rendszerhez.
Ahhoz, hogy SSH használatával csatlakozhasson egy távoli kiszolgálóhoz, legalább két dolgot tudnia kell.
Az alap ssh parancs szintaxisa a következő:
$ ssh <user-name> @ <host> -p <port-no>
A felhasználónév annak a távoli gépnek a felhasználóneve, amelyhez csatlakozni próbálunk (és nem a helyi gépen lévő felhasználóé), a gazdagép pedig egy IP-cím vagy egy tartománynév.
Nézzünk egy példát a távoli szerverhez való csatlakozásra a OverTheWire weboldal. Ez egy ingyenes wargame kihívás weboldal.
Most pedig kapcsolódjunk a bandita kihívás az ssh használatával. Ez az egyik elérhető kihívás a webhelyen, amely megtanítja, hogyan kell bejelentkezni SSH használatával.
Hitelesítő adatok:
felhasználónév és jelszó: bandit0
gazdagép és port: bandit.labs.overthewire.org, 2220
Amikor beírja a következő parancsot, és nyomja meg az enter billentyűt:
$ ssh [email protected] -p 2220
Hitelesítés céljából kérni fogja a jelszót. Most írja be a jelszót, és nyomja meg az enter billentyűt:
Ha a beírt jelszó helyes, sikeresen bejelentkezett a távoli szerverre, és a terminál a fenti képhez hasonlóan fog kinézni.
Most már használhatja a távoli gép terminálját a parancsok begépelésére és végrehajtására, valamint a szükséges műveletek végrehajtására.
Ha be szeretné fejezni az ssh munkamenetet, írja be az exit parancsot:
$ exit
A „Kapcsolat lezárva” üzenet jelenik meg, amikor sikeresen kijelentkezik az ssh-munkamenetből.
Következtetés
Az SSH népszerűségének fő oka, hogy a szerver és a kliens közötti teljes kommunikáció titkosított.
A legtöbb ember azt feltételezi, hogy az ssh használata bonyolult, és a működésével kapcsolatos ismeretek megszerzése nem könnyen érthető, de egyszerűbb, mint gondolná. Most már alapvető ismeretekkel rendelkezik az SSH-ról, annak működéséről, a mögötte rejlő biztonsági szempontokról, és arról, hogy miért játszik létfontosságú szerepet a kommunikációban.
Ezután fedezzen fel néhány erőforrást, hogy Sysadminré válhasson.