logo

Vad är den fullständiga formen av SSH


SSH: Säkert skal

SSH står för Secure Shell. Det är också känt som Secure Socket Shell. Ett kryptografiskt nätverksprotokoll som kallas Secure Shell (SSH) används för att säkert driva nätverkstjänster över osäkra nätverk. Klientserverarkitektur är grunden för SSH-applikationer, som länkar en SSH-klientinstans med en SSH-server.

SSH Full Form

Som en efterföljare för Telnet och osäkra fjärranslutna Unix-skalprotokoll som Berkeley Remote Shell (rsh) och dess associerade rlogin- och rexec-protokoll, skapades SSH för Unix-liknande operativsystem som använder osäker, klartext-autentiseringstokenkommunikation.

Definition

Vi kan tillämpa SSH på flera olika sätt. Den enklaste implementeringen krypterar data med automatiskt genererade offentlig-privata nyckelpar i båda ändarna av en kommunikationskanal och en nätverksanslutning. Därefter autentiseras användaren med ett lösenord. När en användare manuellt genererar ett offentligt-privat nyckelpar, slutförs autentiseringen praktiskt taget när nyckelparet är etablerat, vilket gör att en session kan startas omedelbart utan en lösenordsuppmaning.

är ett förhållande
SSH Full Form

I det här fallet håller ägaren motsvarande privata nyckel hemlig, och den publika nyckeln installeras på alla maskiner som måste ge åtkomst till ägaren. Även om den privata nyckeln fungerar som grunden för autentisering, skickas nyckeln aldrig över nätverket när autentisering utförs. SSH bekräftar att den offentliga nyckelns leverantör också innehar motsvarande privata nyckel.

Att ansluta den okända publika nyckeln med en känd privat nyckel i alla versioner av SSH är avgörande innan man accepterar dem som legitima offentliga nycklar med ID. Att acceptera en offentlig nyckel från en angripare utan att validera den kommer att acceptera en opålitlig angripare som en legitim användare.

Skapande

Tatu Ylönen, en datavetare från Finland, skapade SSH för första gången 1995. Protokollsvitens vidareutveckling skedde i många utvecklargrupper, vilket ledde till olika implementeringsiterationer. Det finns implementeringar tillgängliga för alla populära operativsystem, inklusive inbyggda system. OpenSSH, som skaparna av OpenBSD gjorde tillgänglig som öppen källkod 1999, är den mest använda mjukvarustacken.

Hantering av OpenSSH-nycklar för autentisering

Listan över godkända publika nyckel hålls vanligtvis på Unix-liknande system i filen ~/.ssh/auktoriserade nycklar i användarens hemkatalog, som har fjärrinloggningsrättigheter. SSH respekterar endast denna fil om den inte kan ändras av någon annan än ägaren och roten. Lösenordet är inte längre nödvändigt när både fjärrändens publika nyckel och den lokala ändens matchande privata nyckel finns. Men vi kan använda en lösenfras för att låsa den privata nyckeln för mycket mer skydd. Vi kan också söka efter den hemliga koden på vanliga platser, och vi kan använda ett kommandoradsalternativ för att tillhandahålla dess fullständiga sökväg (alternativ -i för ssh).

SSH Full Form

SSH tillhandahåller vidare automatisk nyckelgenerering, krypterad lösenordsbaserad autentisering. Angriparen i detta scenario kan imitera den pålitliga serversidan, begära lösenordet och få det (man-in-the-middle-attack). På serversidan kan vi stänga av lösenordsautentisering.

Använda sig av

SSH använder klient-server-paradigmet. Vanligtvis används SSH för loggning. Den kan också tunnla TCP-portar, vidarebefordra X11-anslutningar och utföra kommandon på ett fjärrsystem. Vanligtvis görs anslutningar till en SSH-demon som tillåter fjärranslutningar med hjälp av en SSH-klientapplikation. Båda finns ofta på de flesta moderna operativsystem, såsom macOS, Linux-distributioner, OpenBSD, FreeBSD, NetBSD, Solaris och OpenVMS. Vissa versioner är proprietära, gratisprogram och öppen källkod med varierande grad av komplexitet och heltäckande (som PuTTY och versionen av OpenSSH som ingår i Cygwin och OpenSSH). SSH ingår inte som standard i Windows-versioner förrän Windows 10 version 1709.

Liknande filhanteringsfunktioner (synkronisering, kopiering och fjärrradering) erbjuds av den fria och öppna källkods-Windows-applikationen WinSCP, som använder PuTTY som back-end. Utan att behöva installeras på klientdatorn är WinSCP och PuTTY tillgängliga förpackade för att fungera direkt från en USB-enhet. Att aktivera en funktion i inställningsappen krävs ofta för att konfigurera en SSH-server i Windows.

För att hantera anslutningsproblem och förhindra säkerhetsriskerna med att direkt exponera en molnbaserad virtuell maskin för Internet, är SSH avgörande i molnberäkningar. En säker anslutning över Internet kan göras möjlig genom en virtuell SSH-tunneldator via en brandvägg. För detta protokoll har IANA utsett TCP-port 22, UDP-port 22 och SCTP-port 22.

Redan 2001 klassade IANA standard TCP-port 22 för SSH-servrar som en av de välkända portarna. Det anslutningsorienterade transportlagerprotokollet SCTP kan användas för att köra SSH istället för TCP.

c# exempelkod

Historisk utveckling

Iteration 1

Ett lösenordssniffande angrepp på hans institutions nätverk inspirerade Tatu Ylönen, en forskare vid Helsingfors tekniska högskola i Finland skapade den första iterationen av protokollet (idag känt som SSH-1) 1995.

SSH designades för att ta rollen som tidigare protokoll, inklusive rlogin, TELNET, FTP och rsh, som saknade robusta autentiserings- och sekretessgarantier. Ylönen gjorde sin applikation tillgänglig som gratisprogram. I juli 1995 blev enheten snabbt omtyckt. I slutet av 1995 fanns det 20 000 SSH-användare spridda över 50 olika nationer.

För att främja och främja SSH etablerade Ylönen SSH Communications Security i december 1995. Olika fria mjukvarukomponenter, inklusive GNU libgmp, användes i SSH-programmets första utgåva, men senare iterationer från SSH Communications Security växte till en allt mer egenutvecklad programvara. Enligt uppskattningar fanns det 2 miljoner användare år 2000.

Iteration 2

Internet Engineering Task Force (IETF) utsåg arbetsgruppen som ansvarar för att skapa SSH-protokoll version 2 som 'Secsh' i sin officiella dokumentation.

SSH-2, en förbättrad protokolliteration, blev en standard 2006. SSH-1 är inte kompatibel med denna version. SSH-2 erbjuder funktionalitet och säkerhetsuppgraderingar över SSH-1. Till exempel ger Diffie-Hellman nyckelutbyte och robust integritetsverifiering via meddelandeautentiseringskoder högre säkerhet. Möjligheten att använda ett obegränsat antal skalsessioner över en enda SSH-anslutning är en av SSH-2:s nya funktioner. Eftersom SSH-2 är mer avancerad och allmänt använd än SSH-1, stöder vissa implementeringar, såsom libssh (v0.8.0+), Lsh och Dropbear, endast SSH-2.

Iteration 1,99

RFC 4253 krävde att en SSH-server som stöder 2.0, såväl som tidigare versioner, skulle ange sin protokollversion som 1.99 i januari 2006, långt efter att version 2.1 utvecklats. Detta versionsnummer används för att indikera bakåtkompatibilitet snarare än att representera en tidigare programvaruversion.

OSSH och OpenSSH

SSH Full Form

Sedan den senaste versionen av det ursprungliga SSH-programmet, version 1.2.12, distribuerades under en öppen källkodslicens 1999, har utvecklare arbetat med en gratis mjukvaruversion. Detta användes som grund för Björn Grönvalls OSSH-program. Strax efter klonade OpenBSD-teamet Grönvalls arbete för att producera OpenSSH, som ingick i OpenBSD Release 2.6. De skapade en 'portabilitets'-gren från denna version för att överföra OpenSSH till olika operativsystem.

Den mest använda SSH-implementeringen från och med 2005 var OpenSSH, standardversionen i många operativsystemdistributioner. Efter att ha tagit bort SSH-1-stödet från kodbasen i OpenSSH 7.6-versionen uppdateras OpenSSH fortfarande och stöder SSH-2-protokollet. Samtidigt är OSSH inte längre relevant.

Används

Användaren 'josh' 'SSHed' från den lokala datorn 'foo fighter' till den avlägsna maskinen 'tengwar' för att köra xeyes som ett exempel på att tunnla ett X11-program genom SSH. Människor använder Windows SSH-klient PuTTY för att komma åt OpenWrt.

SSH är ett protokoll som fungerar med många system, inklusive Microsoft Windows och de flesta Unix-varianter (Linux, BSD, inklusive Apples macOS och Solaris). Följande appar kan behöva funktioner som är exklusiva för eller kompatibla med särskilda SSH-klienter eller -servrar. Till exempel är det för närvarande endast möjligt att använda OpenSSH-servern och klientimplementeringen av SSH-protokollet för att konstruera ett VPN.

  • För att komma åt ett skal på en avlägsen värd (ersätter Telnet och rlogin)
  • För att utföra ett ensamt kommando på en avlägsen värd (ersätter rsh)
  • För att konfigurera en avlägsen servers automatiserade (lösenordslösa) inloggning (till exempel med OpenSSH)
  • Som en fullt fungerande krypterad VPN, kom ihåg att endast OpenSSH-klienten och servern stöder denna funktion.
  • För att överföra X från en avlägsen värd (möjligt genom flera mellanvärdar)
  • För att använda SSH-klienter som stöder SOCKS-protokollet för att surfa på Internet via en krypterad proxyanslutning.
  • För att säkert montera en fjärrservers katalog som ett filsystem på en lokal maskin som använder SSHFS.
  • Genom en eller flera av ovan nämnda tekniker för automatisk fjärrövervakning och administration av server.
  • För SSH-kompatibel utveckling av mobil eller inbäddad enhet.
  • För att skydda filöverföringsmekanismer.

Överföringsmetoder för filer

Flera filöverföringssystem använder Secure Shell-protokoll som t.ex

latexmatris
  • Över SSH utvecklas Secure Copy (SCP) från RCP-protokollet.
  • rsync som antas vara effektivare än SCP drivs ofta via en SSH-anslutning.
  • Ett alternativ till FTP som är säkert är SSH File Transfer Protocol (SFTP) (inte att förväxla med FTP över SSH eller FTPS)
  • FISH, eller filer överförda över skalprotokoll, introducerades 1998 och utvecklades från SSH över Unix-skalinstruktioner.
  • Aspera, även känt som Fast and Secure Protocol (FASP), använder SSH för kommando och för datatransport, UDP-portar.

Arkitektur

Tre distinkta komponenter utgör den skiktade arkitekturen för SSH-protokollet:

  • Transmission Control Protocol (TCP) för TCP/IP används vanligtvis av transportlagret (RFC 4253), med portnummer 22 avsatt som serverlyssningsport. Detta lager implementerar kryptering, komprimering, integritetskontroll, initialt nyckelutbyte och serverautentisering. Även om varje implementering kan tillåta mer, exponerar den för det högre lagret ett gränssnitt för att sända och ta emot klartextpaket på upp till 32 768 byte vardera. Vanligtvis, efter att 1 GB data har transporterats eller efter att en timme har gått, beroende på vad som kommer först, ordnar transportlagret för nycklarbyte.
    SSH Full Form
  • Klientautentisering hanteras via användarautentiseringslagret (RFC 4252), som också erbjuder flera autentiseringstekniker. Klientdriven autentisering innebär att SSH-klienten, inte servern, kan be användaren om ett lösenord. Endast klientens förfrågningar om autentisering får ett svar från servern. Följande användarautentiseringstekniker används ofta:
      Lösenord, en enkel teknik för lösenordsautentisering som inkluderar möjligheten att ändra lösenordet. Inte all programvara använder denna teknik.
  • Vanligtvis stöder åtminstone DSA-, ECDSA- eller RSA-nyckelpar offentlig nyckel är en teknik för publik-nyckel-baserad autentisering. Andra implementeringar accepterar dessutom X.509-certifikat.
  • Tangentbordsinteraktiv(RFC 4256) är en flexibel teknik där servern tillhandahåller en eller flera uppmaningar för informationsinmatning, klienten visar dem och sedan skickar tillbaka svar som klienten har skrivit in. Används av vissa OpenSSH-inställningar för att effektivt erbjuda lösenordsautentisering när PAM är den underliggande värdautentiseringsleverantören, vilket ibland kan förhindra inloggning med en klient som bara stöder den enkla lösenordsautentiseringstekniken.
  • Enkel inloggningsfunktion för SSH-sessioner tillhandahålls via GSSAPI autentiseringstekniker, som erbjuder ett utbyggbart system för att hantera SSH-autentisering med hjälp av externa mekanismer som Kerberos 5 eller NTLM. Även om OpenSSH har en funktionell GSSAPI-implementering, integrerar kommersiella SSH-implementationer ofta dessa tekniker för användning i företag.
  • Idén med kanaler som definierar SSH-tjänsterna som erbjuds definieras av anslutningslagret (RFC 4254). Vi kan multiplexera flera SSH-anslutningar från en enda. Båda överför data i båda riktningarna. Kanalförfrågningar sänder data utanför bandet som är specifik för en given kanal, såsom en process på serversidans utgångskod eller storleksändringen i ett terminalfönster. Dessutom, med hjälp av mottagarfönstrets storlek, styr varje kanal sitt flöde. SSH-klienten gör en global begäran om att vidarebefordra en port på serversidan. Kanaltyper som är vanliga inkluderar:
    • Skal för SFTP, exec och terminalskal (inklusive SCP-överföringar)
    • Direct-TCPIP för vidarebefordrade anslutningar från klienten till servern.
    • Server-till-klient vidarebefordrade anslutningar med forwarded-tcpip
    • För att bekräfta värdens legitimitet erbjuder SSHFP DNS-posten (RFC 4255) den offentliga värdens nyckelfingeravtryck.

På grund av dess öppna design kan vi använda SSH för ett brett utbud av uppgifter förutom att säkra skal, vilket ger den stor mångsidighet.

Sårbarheter

SSH-1

På grund av otillräckligt dataintegritetsskydd som tillhandahålls av CRC-32 i den här protokollversionen, identifierades en sårbarhet i SSH 1.5 1998 som möjliggjorde obehörig infogning av material i en krypterad SSH-ström. I de flesta implementeringar lade de till en patch känd som SSH Compensation Attack Detector. Flera av dessa reviderade implementeringar inkluderade ett nytt heltalsspillfel, vilket gjorde det möjligt för angripare att köra godtycklig kod med root eller SSH-demonens kapacitet.

Ett fel som gör det möjligt för angripare att ändra det sista blocket i en IDEA-krypterad session hittades i januari 2001. Ett annat fel som gjorde det möjligt för en oseriös server att skicka en klientinloggning till en annan server hittades samma månad.

På grund av dess inneboende sårbarheter anses SSH-1 i allmänhet vara inaktuell och bör undvikas genom att uttryckligen ta bort SSH-1 reserv. De flesta nuvarande servrar och klienter stöder SSH-2.

Plaintext Recovery för CBC

En teoretisk sårbarhet som möjliggjorde hämtning av upp till 32 bitar av klartext från ett block av chiffertext som krypterats med tidens standardkrypteringsmetod, CBC, upptäcktes i alla versioner av SSH i november 2008. Den enklaste korrigeringen är att byta till CTR, räknare läge, istället för CBC-läge, vilket gör SSH immun mot attacken.

SSH Full Form

NSA misstänks för dekryptering

Edward Snowdens utlämnande av känsliga dokument till Der Spiegel den 28 december 2014, innebär att National Security Agency kommer att kunna avkoda viss SSH-kommunikation.