Mi az SSH és hogyan működik?

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.

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.

  Csoportok és felhasználók kezelése Linuxon

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.

  Dobja fel böngészője kezdőlapját ezzel a 10 véletlenszerű webhely-generátorral

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.

  22 Gyakran Ismételt Spring Boot Interjú kérdés és válasz

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.