ÖppnaSSH

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 17 oktober 2019; kontroller kräver 9 redigeringar .
ÖppnaSSH
Sorts demon och klient
Utvecklaren OpenBSD-projekt [d]
Skrivet i C [2]
Operativ system Linux , macOS , FreeBSD , OpenBSD , etc. UNIX-liknande ,
Första upplagan 1 december 1999
senaste versionen
Licens ISC-licens
Hemsida openssh.com
 Mediafiler på Wikimedia Commons

OpenSSH ( Eng.  Open Security Shell - open secure shell ) - en uppsättning program som tillhandahåller kryptering av kommunikationssessioner över datornätverk med hjälp av SSH-protokollet . Den skapades under ledning av Theo de Raadt som ett alternativ med öppen källkod till proprietär programvara från SSH Communications Security .

Historik

OpenSSH skapades av OpenBSD -teamet som ett alternativ till SSH, som fortfarande är proprietär programvara. Utvecklarna av OpenSSH hävdar att det är säkrare än det ursprungliga Secure Shell på grund av deras policy för rensning och kodgranskning . Även om källkoden också var tillgänglig för den ursprungliga SSH under lång tid [3] , gjorde begränsningarna i dess licens till en början OpenSSH till ett mer attraktivt projekt för de flesta programmerare.

OpenSSH dök först upp i OpenBSD 2.6.

Släppt den 6 september 2011, version 5.9 introducerade ett experimentellt " sandlåda "-läge, med begränsningar för vissa systemanrop . Syftet med detta är att förhindra attacker på andra noder i nätverket, till exempel genom att köra en proxy eller öppna sockets .

Varumärken

I februari 2001 rapporterade Tatu Ylönen ( Fin. Tatu Ylönen ), ordförande och CTO för SSH Communications Security, via e-postlistan OpenSSH att företaget efter att ha pratat med de ledande utvecklarna av OpenSSH hade godkänt ägandet av "SSH" och "Secure" Shell" varumärken. . Han letade också efter sätt att ändra namnet på protokollet till SecSH eller secsh och föreslog att man skulle ändra namnet på OpenSSH för att undvika stämningar.

Samtidigt användes "SSH", "Secure Shell" och "ssh" i dokument som definierade protokollet som en öppen standard och mycket arbete gjordes utan varumärkesmärkning. Det har väckts tvivel om riktigheten av påståendena, eftersom det har gått 6 år sedan företaget startade och den tidpunkt då det började försvara varumärket mot fria alternativ som OpenSSH, och att endast OpenSSH utsattes för deras juridiska attacker.

Både utvecklarna av OpenSSH och Ylönen var medlemmar i IETF :s arbetsgrupp för nya standarder, som efter viss diskussion avvisade alla påståenden från Ylönen att byta namn på protokollet, med hänvisning till att det skulle skapa ett oönskat prejudikat för andra varumärken. Medlemmar i arbetsgruppen hävdade att beteckningarna "Secure Shell" och "SSH" är grundläggande begrepp och inte kan vara varumärken.

Portabilitet

Dels för att OpenSSH behöver utföra autentisering, vilket kan vara väldigt olika på olika operativsystem, har en stark infrastruktur skapats för att möjliggöra portabilitet . Det som inte direkt ingick i OpenBSD pekades ut av ett utvecklingsteam bestående av Damien Miller ,  Philip Hands och andra som ett delprojekt till OpenSSH Portable .  Nu, parallellt och samtidigt med lanseringen av OpenSSH "för OpenBSD", började så kallade " portabla utgåvor " att släppas. Dessa utgåvor betecknas med ett "p" i slutet, till exempel: OpenSSH_5.1p1 . Denna organisation av utvecklingsprocessen användes senare i andra projekt utvecklade inom OpenBSD, såsom OpenNTPD .

Komposition

OpenSSH-sviten innehåller följande komponenter:

ssh Ersättning för rlogin och telnet . scp En ersättning för rcp , som använder SFTP- protokollet i moderna versioner av OpenSSH (tidigare användes mindre tillförlitliga och flexibla SCP ). sftp En ersättning för en FTP- klient som använder SFTP- protokollet . sshd En demon som faktiskt ger säker åtkomst till resurser. Inkluderar en SFTP-backend - implementering som lämpar sig för att chroota användare utan att behöva kopiera några filer inuti chrooten . sftp-server Separat implementering av SFTP -undersystemet ( serverdel ). Har fler funktioner än den inbyggda sshd . ssh-keygen Nyckelparsgenerator. ssh-nyckeltecken Verktyg för att kontrollera värdnycklar. Aktiverad när du använder värdautentisering (liknande rsh ) istället för standardanvändarautentisering. ssh-keyscan Hjälpverktyg. Låter dig samla in offentliga nycklar från andra värdar. ssh-agent Hjälpverktyg. Upprätthåller privat nyckelcache . Cachning låter dig undvika att ofta ange ett lösenord för att dekryptera nycklar innan du använder dem. ssh lägg till Hjälpverktyg. Lägger till nycklar till ssh-agent- cachen .

Säkra tunnlar

Port forwarding

De flesta program använder TCP- protokollet för att upprätta en anslutning , vars trafik kan överföras genom en säker tunnel. På detta sätt kan många ytterligare TCP-anslutningar upprättas ovanpå en enda SSH-anslutning. Detta är användbart för att dölja anslutningar och kryptera protokoll som är osäkra, samt för att kringgå brandväggsbegränsningar . UDP- anslutningar kan ibland också tunnlas med hjälp av ytterligare program som netcat . Enkla tunnlingsprotokoll är HTTP , POP3 och VNC .

Port forwarding är möjlig i alla riktningar.

Dessutom kan vissa program automatiskt använda OpenSSH för att skapa en tunnel. Till exempel DistCC , CVS , rsync och fetchmail .

Av de protokoll som är svårare att tunnla är det värt att notera FTP , som ofta kan ersättas av SFTP , och SMB . På vissa operativsystem kan fjärrfilsystem ssh-monteras med shfs , lufs och andra liknande komponenter.

X Window System

OpenSSH låter dig organisera anslutningar till X Window System på ett säkert sätt, med hänsyn till "omvändningen" av semantiken: SSH-värdklienten för X Window System är en server och vice versa. För att göra detta utför OpenSSH ytterligare operationer som att ställa in miljövariabeln DISPLAY.

SOCKS

OpenSSH kan användas som en speciell SOCKS- proxyserver som stöder mer flexibel proxy än bara portvidarebefordran.

VPN

Från och med version 4.3 kan OpenSSH använda lager 2 och lager 3 tunnelnätverksgränssnitt av OSI-modellen ( tun ). Således kan du organisera en säker VPN och klara dig utan att behöva göra om applikationer för att stödja SOCKS.

Autentisering

OpenSSH-servern kan autentisera användare med de inbyggda autentiseringsmekanismerna:

Dessutom kan OpenSSH Portable vanligtvis använda de autentiseringsmetoder som finns tillgängliga på ett specifikt operativsystem, såsom BSD Authentication eller PAM .

Anteckningar

  1. OpenSSH 9.1 - 2022.
  2. https://www.openhub.net/p/openssh/analyses/latest/languages_summary
  3. Lista över SSH-implementationer för Unix-system  (engelska)  (länk ej tillgänglig) . Arkiverad från originalet den 22 februari 2012.

Baserat på artikel:

Länkar