Vad är SSH och hur fungerar det?

SSH är ett säkert nätverksprotokoll för åtkomst till fjärrdatorer i ett nätverk.

Datorer pratar med varandra via nätverk. Därför definierade nätverksforskare en uppsättning regler för att kommunicera med andra maskiner och började utveckla protokoll som Telnet; genom att använda det kan en användare ta kontroll över en annan dator.

Men de är inte säkra, dvs vem som helst i mitten av nätverket kan fånga upp och läsa data som överförs. I mitten av 90-talet har ett säkrare protokoll vid namn ssh introducerats som en pålitlig efterföljare till telnet-protokollet.

Om du är en mjukvaruutvecklare eller systemadministratör som arbetar i en bransch kan du ha använt ssh, åtminstone en gång. Om du inte gjorde det, låt oss lära oss det nu, eftersom det är en av de nödvändiga färdigheterna.

Vad är SSH?

SSH eller Secure Shell eller Secure Socket Shell är ett nätverksprotokoll som hjälper oss att säkert komma åt och kommunicera med fjärrdatorer (oftast fjärrservrar).

Det ger stark kryptering och används i stor utsträckning av nätverksadministratörer och utvecklare för att hantera fjärrsystem och applikationer, utföra kommandon, dela filer, etc.

Behov av SSH

SSH skapades 1995 för att lösa säkerhetsproblem som osäkrade fjärråtkomstprotokoll som t.ex rlogin, rsh, Telnet.

Låt oss nu prata om Telnet, som står för Teletype Network utvecklat 1969. Det är ett enkelt kommandoradsverktyg som körs på din dator för att komma åt en fjärrserver (var som helst i världen). Och skicka kommandon som ska köras på den servern, precis som om du sitter precis framför fjärrservern (även mil bort från servern). Telnet sänder och tar emot meddelanden i vanlig text över ett nätverk.

De kommandon du skulle köra kan vara att köra program, skapa kataloger, skapa/ta bort/överföra filer, starta/stoppa tjänster, etc.

Problemet med att ansluta en annan maskin i ett nätverk är att data som överförs kommer att passera genom många nätverk. Under tiden kan en del vara osäkra och sändande data kan fångas upp, eventuellt modifieras innan den når den avsedda målmaskinen.

Förr i tiden, där säkerheten inte var så viktig, sker all kommunikation i klartext. Därför kan data som överförs över internet mellan klient och server lätt fångas upp. Och det kan läsas eftersom meddelandena inte är krypterade.

Därför är klartextprotokoll extremt osäkra och kan aldrig användas för känslig dataöverföring som lösenord, hemligheter etc. Därför anses SSH vara ett säkert alternativ till äldre nätverksprotokoll för fjärråtkomst.

Hur fungerar det?

SSH använder en klient-server-arkitektur för säker kommunikation över nätverket genom att ansluta en ssh-klient till ssh-servern. Som standard lyssnar ssh-servern på standard TCP-port 22 (du kan ändra detta för bättre säkerhet).

Den använder en kryptografiteknik med publik nyckel för att autentisera mellan klient och server. Dessutom använder protokollet stark symmetrisk kryptering och hashalgoritmer för utbyte av meddelanden mellan klient och server för att säkerställa integritet och dataintegritet.

Linux är det flitigt använda operativsystemet för fjärrservrar på grund av dess säkerhet och hållbarhet. Många servrar som använder Linux-operativsystem på internet har körts i flera år utan många fel eller ens startat om.

De flesta SSH-sessioner (en period då vi kommer åt fjärrservern) kommer endast att ha följande två operationer:

  • Autentisering
  • Kommandoexekvering

SSH-servrar kan autentisera klienter med en mängd olika metoder.

Och de två populära sätten är:

Lösenordsbaserad autentisering är standardmetoden som används för autentisering för ÖppnaSSH installerade klienter. Det är den mest grundläggande ssh-autentiseringen men inte den säkraste.

Även om lösenord skickas till servern på ett säkert sätt, kan moderna brute force-attacker kringgå autentiseringen.

Nyckelbaserad autentisering förbättrar systemsäkerheten ytterligare genom att generera SSH-nyckelpar, vilket visar sig vara ett pålitligt och säkert alternativ.

Efter att servern har autentiserat klienten framgångsrikt upprättas en säker anslutning mellan dem.

Åtkomst till fjärrserver med SSH

Om du är en Mac/Linux-användare kan du direkt använda terminalen för att skriva och köra ssh-kommandon, eftersom OpenSSH redan är installerat som standard.

Om du är en Windows-användare måste du installera en terminalemulatorklient från tredje part för att köra ssh-kommandon. Spackel är den mest populära ssh-klienten för Windows operativsystem.

För att ansluta till en fjärrserver med SSH behöver du veta minst två saker.

Syntaxen för grundläggande ssh-kommando är:

$ ssh <user-name> @ <host> -p <port-no>

Användarnamnet är fjärrmaskinens användarnamn som vi försöker ansluta (och inte användaren på din lokala dator), och värden är antingen en IP-adress eller ett domännamn.

Låt oss titta på ett exempel på att ansluta till en fjärrserver med hjälp av OverTheWire hemsida. Det är en gratis webbsida för krigsspelsutmaning.

Låt oss nu ansluta till bandit utmana att använda ssh. Det är en av de tillgängliga utmaningarna på webbplatsen som lär ut hur man loggar in med SSH.

Referenser:

användarnamn och lösenord: bandit0
värd och port: bandit.labs.overthewire.org, 2220

När du skriver följande kommando och trycker på enter:

$ ssh [email protected] -p 2220

Det kommer att uppmana dig att ange lösenordet för autentiseringsändamål. Skriv nu lösenordet och tryck enter:

Om det angivna lösenordet är korrekt har du loggat in på fjärrservern och din terminal kommer att se ut som bilden ovan.

Nu kan du använda fjärrmaskinens terminal för att skriva och utföra dina kommandon och utföra dina behövande operationer.

När du vill avsluta ssh-sessionen skriver du exit-kommandot:

$ exit

Du får meddelandet ”Anslutningen stängd” när du loggar ut från ssh-sessionen.

Slutsats

Den främsta anledningen till SSHs popularitet är att hela kommunikationen mellan servern och klienten är krypterad.

De flesta antar att det är komplext att använda ssh och att få kunskap om hur det fungerar är inte lätt att förstå, men det är enklare än du tror. Nu har du en grundläggande förståelse för SSH, hur det fungerar, säkerhetsaspekterna bakom det och varför det spelar en viktig roll i kommunikationen.

Utforska sedan några av resurserna för att bli Sysadmin.