OpenSSH 10.1: Allt nytt inom säkerhet, nätverk och konfiguration

  • Varningar och stöd för postkvantalgoritmer med WarnWeakCrypto.
  • QoS-granskning: DSCP som standard, EF för interaktiv trafik och utfasning av användarvillkor.
  • Operativ härdning: Agentsockets i ~/.ssh/agent och inmatningsfilter.
  • Praktiska förbättringar: SIGINFO, RefuseConnection, PKCS#11 Ed25519 och viktiga buggfixar.

OpenSSH 10.1

Utöver versionsetiketten, OpenSSH 10.1 konsoliderar den väg som började med 10-serien: migrering till postkvantkryptografi, modernisering av QoS med DSCP och härdning av historiskt känsliga områden (agenter, nycklar, register och parameterparsning). Nedan hittar du en grundlig granskning av alla nya funktioner (med sammanhang där det tillför värde), samt praktiska riktlinjer för att implementera dem utan överraskningar.

Följande är listan med Nyheter i den här versionen, även tillgänglig i officiella anteckningar.

Höjdpunkter och sammanhang i publiceringen

Den officiella utgåvan av OpenSSH 10.1 (2025-10-06) lyfter fram tre axlar: Förebyggande säkerhet mot kvantkryptografi, DSCP-nätverk och sanering av indataDen kopplar också samman specifika förändringar med hög operativ påverkan: från agentsocketvägar till nya diagnostiska tecken.

En viktig påminnelse om projektet: En framtida version kommer att ignorera SHA-1-baserade SSHFP-loggarMedan ssh-keygen -r genererar nu endast SSHFP-fingeravtryck med SHA-256 som standard, stänger dörren för svaga hashtaggar för DNSSEC och verifiering av värdnycklar.

Varning om icke-postkvantkryptografi och nytt WarnWeakCrypto-alternativ

OpenSSH 10.1 introducerar en varning när anslutningen förhandlar om ett nyckelutbyte som är inte resistent mot postkvantattackerMålet är att fokusera på risken med "lagra nu, dekryptera senare" och påskynda övergången i känsliga miljöer.

Detta beteende kontrolleras med VarnaSvagKrypto (Vid ssh_config), vilket är aktiverat som standard. Om du gör en gradvis migrering eller underhåller äldre värdar, Du kan selektivt inaktivera varningen med Match-block. Till exempel:

Matcha värden unsafe.example.com WarnWeakCrypto nej

Kryptografi och aktuell teknik: PQC, hybrider och SSHFP

I 10.0 bytte klienten till att använda som standard mlkem768x25519‑sha256, en hybrid postkvantalgoritm som kombinerar ML-KEM (KEM NIST FIPS 203) med X25519. Denna hybridstrategi säkerställer att även om ett kryptanalytiskt genombrott skulle uppstå på PQ-sidan, du skulle inte ha det sämre än med klassisk ECDH eftersom kanalen behåller styrkan hos X25519.

Med 10.1, utöver varningen som förklarats ovan, förstärks övergången: OpenSSH kommer att fortsätta ignorera SSHFP med SHA-1 i framtiden.; verktyget ssh-keygen utfärdar redan SSHFP exklusivt med SHA-256. Operativt sett är den rekommenderade åtgärden generera och publicera SSHFP-fingeravtryck i SHA-256 för dina värdar.

Vanliga frågor: Varför insistera nu om kvantdatorer ännu inte kan bryta SSH? Eftersom angripare kan fånga idag och dekryptera imorgon. Att använda post-kvantum KEX minskar redan den vektorn. Och om du är orolig för PQ-algoritmernas unga ålder, kom ihåg att hybridmodaliteten bibehåller den klassiska säkerhetsnivån som bas.

Nätverksmodernisering: DSCP/IPQoS och trafikprioritering

Den här utgåvan konsoliderar en djupgående QoS-översyn. På både klient och server, Interaktiv trafik har som standard klass EF (Expedited Forwarding), vilket hjälper till att minska latenser på Wi-Fi och överbelastade medier. Icke-interaktiv trafik växlar till att använda systemets standard DSCP-märke, utan att höja prioriteten.

I praktiken, båda ssh(1) och sshd(8) ändras dynamiskt det märke som används beroende på vilken typ av kanaler som finns: om samma anslutning kombinerar ett skal och en sftp, den icke-interaktiva överföringsfasen kommer att använda det icke-interaktiva värdet under operationen och återgå till EF när det är lämpligt. Detta styrs av tangenten IPQoS en ssh_config y sshd_config.

Dessutom, Stöd för äldre IPv4-användarvillkor dras tillbaka i IPQoS-alternativet (lowdelay, throughput, reliability sluta ha effekt). Om du fortfarande använde dem, migrerar till DSCP-nomenklaturen (till exempel., ef, cs0, af11, Etc.).

Input-härdning: användare, URI:er och expansioner

I säkerhetsavsnittet åtgärdar 10.1 ett subtilt fall där, om du byggde kommandorader med extern data och samtidigt använde ProxyCommand med %r/%u-expansioner, skulle en angripare kunna smyga in skaluttryck. För att mildra detta, ssh(1) förbjuder nu kontrolltecken i CLI-passerade eller utökade användare, och blockerar även null-tecknet i URI:er ssh://.

Kompatibilitetsinformation: En valideringspunkt har mildrats för att undvika att legitima ärenden bryts. Litterala användarnamn definierade i konfigurationsfiler (utan %)-expansioner är undantagna, förutsatt att den lokala konfigurationen anses vara betrodd.

Livesignaler och information: SIGINFO och synlighet

Ett annat praktiskt felsökningstips: ssh(1) och sshd(8) får SIGINFO-hanterare som registrerar statusen för aktiva kanaler och sessioner. I produktion, detta underlättar flödesdiagnostik, multiplexering, vidarebefordran och X11 utan att behöva koppla en felsökare eller invasivt öka utförligheten.

I linje med transparensen, när en certifikatautentisering misslyckas, sshd loggar nu tillräckligt med information för att identifiera certifikatet (samt varför det nekades). Om du arbetar med PKI och användar-/värdcertifikat, kommer denna förbättring förkortar lösningstider avsevärt.

ssh-agent och nycklar: sockets, sanering och PKCS#11

För att förhindra korsåtkomst i miljöer med begränsad montering av /tmp, agentsocketarna (och de som vidarebefordras av sshd) Jag vet flytta från /tmp till ~/.ssh/agentSåledes en process med begränsade behörigheter på /tmp ärver inte längre av misstag möjligheten att signera med dina nycklar från agenten.

Denna förändring har en annan derivat: tidigare kunde operativsystemet rensa föråldrade sockets, nu ssh-agenten har sin egen rensning från gamla sockets. Dessutom lägger agenten till nya flaggor: -U y -u för att kontrollera renlighet vid uppstart, -uu att ignorera värdnamnet vid rensning, och -T att tvinga fram den historiska platsen /tmp om du verkligen behöver det.

I nyckelplanet, klienten och agenten ED25519 som lagras på PKCS#11-tokens stöds nuOm du förlitar dig på HSM:er eller kryptografiska nycklar får du flexibilitet utan att offra styrka.

ssh-add och certifikat: självrensande utgångsdatum

När du lägger till certifikat till agenten, Dess utgångsdatum är nu satt med en respitperiod på 5 minuterIdén är enkel: tillåt transaktioner att slutföras i kön och sedan, ta bort agentcertifikatet automatisktOm ditt flöde kräver total kontroll, ssh‑add -N inaktivera detta beteende.

RefuseConnection: klientstyrda frånkopplingar

Det finns scenarier där du är intresserad av att avbryta en anslutning från själva klienten med ett tydligt meddelande (till exempel, operativa omdirigeringar eller avskrivningsmeddelandenOpenSSH 10.1 lägger till AvvisaAnslutning a ssh_configOm det påträffas vid bearbetning av en aktiv sektion avslutas klienten med ett felmeddelande och visar den text du har definierat.

Kodkvalitet och live-säkerhet

Teamet fortsätter att rensa upp i kodbasen. 10.1 listor minnesläckor åtgärdade, atomia-förbättringar vid skrivning known_hosts med hög närvaro och flera tävlingsförhållandena lösta i processer som MaxStartups eller X11-sessioner.

En kryptorensningsanteckning: stöd för XMSS har tagits bort (experimentellt och aldrig som standard). Förbereder grunden för postkvantumsignaturscheman mer mogna som kommer i framtida versioner.

Portabilitet och ekosystem: PAM, FreeBSD, macOS, Android…

Förändringar i portabilitet påverkar många fronter: extra kontroller i PAM-miljöer (som att säkerställa att användaren inte ändras under processens gång), integrationsförbättringar med FreeBSD (vidarebefordran av frekvenser och kompatibilitet), MacOS (robust detektering av funktioner och rubriker) och Android (struct passwd med fält som inte är null).

Kompatibilitetsrubriker läggs också till för plattformar utan vissa standardbibliotek, vilket minskar antalet #ifdef spridda. Slutligen raffineras de seccomp sandbox-policyer på Linux för att täcka systemanrop som futex_time64 i 32-bitars, och stöd läggs till AWS-LC som ett alternativ till OpenSSL/LibreSSL.

QoS i praktiken: Praktiska exempel och IPQoS-migrering

Om du använde de gamla aliasen i användarvillkoren (lowdelay, throughput...), nu kommer de att ignoreras och du kommer att se ett felsökningsmeddelande som föreslår DSCP. Den typiska migreringen skulle vara att gå från IPQoS lowdelay a IPQoS ef för interaktiva sessioner; om du också använder mycket SFTP kan du definiera profiler efter matchning en ssh_config/sshd_config att separera trafiken.

Kom ihåg att motorn väljer och uppdaterar automatiskt Den markerar i realtid baserat på öppna kanaler, så det mesta av arbetet är redan gjort åt dig av OpenSSH.

Installera OpenSSH 10.1 på Linux (källa)

Medan distributioner integrerar versionen, du kan kompilera från den officiella källanLadda ner tarball-filen från projektspeglarna, packa upp och kompilera:

tar -xvf openssh -10.1.tar.gz

Gå in i katalogen och konfigurera prefix och konfigurationsrutter om du behöver det. Till exempel:

cd openssh-10.1 ./configure --prefix=/opt --sysconfdir=/etc/ssh

Kompilera och installera som vanligt (beroende på behörigheter, kanske med superanvändare):

göra

make install

Aktivera OpenSSH på Windows med PowerShell

I moderna Windows-miljöer (Server 2019/Windows 10 1809+), Du kan installera OpenSSH-klienten och -servern som systemfunktioner.Kontrollera kapacitet och status:

Get-WindowsCapability-Online | Where-Objektnamn -liknande 'OpenSSH*'

Installera komponenterna som du behöver:

Lägg till-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 Lägg till-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Starta och aktivera SSH-servertjänstenoch kontrollera brandväggsregeln för inkommande trafik:

Start-tjänst sshd Set-Service -Name sshd -StartupType 'Automatic' Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -ErrorAction SilentlyContinue

För att ansluta från en annan Windows- eller Linux-värd, använd standardklienten: ssh dominio\usuario@servidorVid första åtkomst, accepterar värdens fingeravtryck och autentisera med ditt lösenord.

Driftsguide: diagnostik och god praxis

För miljöer med användar-/värdcertifikat, dra nytta av förbättrad loggning av avslag i sshd för att felsöka CA:er och tillägg. Om en session fastnar eller om du misstänker multiplexering, lanserar SIGINFO till processen att lista aktiva kanaler utan att höja den globala loggnivån.

Om du är beroende av ombud, kontrollera var uttagen finns nu (~/.ssh/agent) Och aktivera automatisk rengöring i din distributionsmodell. På delade arbetsstationer eller NFS-arbetsstationer bör du överväga att använda agentflaggan för att ange värdnamnshash i sökvägen vid behov.

Mest relevanta buggfixar

I 10.1 är de lösta mindre regressioner i X11 i kombination med hjärtfrekvensdämpning (ObscureKeystrokeTiming), ett fall av MaxStartups dåliga redovisning som skulle kunna översvämma slots, och skrivandet av known_hosts nu är det klart i atomoperationer för att undvika sammanflätade linjer med hög samtidighet.

Andra korrigeringar förbättrar diagnostik vid laddning av nycklar, hantering av konfigurationsstorleksgränser (från 256 KB till 4 MB), granskningsutdata och exotiska hörnfall i lokala vidarebefordran och kontrollsekvenser. Dessutom meddelanden och utdata från ssh -G y sshd -T.

Rekommenderad migreringschecklista

Den här snabba listan Den inkluderar de uppgifter som själva projektet föreslår och vad som framkommer av förändringarna:

  • crypto: kontrollera att din KexAlgorithms tillåter hybrid PQ och genererar ny SSHFP i SHA-256 med ssh-keygen -r.
  • QoS: check IPQoS på klient/server; migrera äldre användarvillkor till DSCP; utnyttja EF för interaktiva sessioner.
  • Agenteranpassar skript och variabler till sockets under ~/.ssh/agentvärdesätter automatisk rengöring av själva medlet.
  • Stora konfigurationerOm du genererar masskonfigurationer går gränsen upp till 4 MB; tillämpa det klokt och kontrollerar valideringen.
  • Parsersundvik att bygga kommandorader från otillförlitlig inmatning; använd config lokala med litteraler när du har konstiga skiftlägen i användarnamn.

De som hanterar blandade flottor kommer att uppskatta att 10.1 tryck in säkerheten där det gör minst ont (parsers, agenter, varningar) och samtidigt förbättra den dagliga upplevelsen (Dynamisk QoS, SIGINFO, certifikatloggning). Om du redan använde 10.0 är övergången enkel; om du kommer från 9.x, ta dig tid att finjustera DSCP, regenerera SSHFP till SHA-256 och aktivera hybrid-KEX:er för att skydda dig mot kvanthotet utan att offra prestanda.

openssh
Relaterad artikel:
OpenSSH 9.0 kommer med SFTP istället för scp, förbättringar och mer