Mae’r mewnforiad yn methu â gwall tystysgrif, felly mae’r cam amlwg yn edrych fel trosiad. Mae’r reddf honno’n arwain pobl ar hyd llwybr lle mae estyniad y ffeil yn newid ac mae’r gwrthodiad yn aros yn union yr un fath. Mae llinell ssh-ed25519 mewn authorized_keys a thystysgrif cleient OpenVPN yn wrthrychau cyfrifiadol ar wahân, gyda gwahanol ddyroddwyr, gwahanol amgodio a gwahanol lwybrau dirymu. Mae rhedeg y gwiriadau hyn yn eu trefn yn dweud wrthych mewn munud a all trosiad helpu o gwbl.

Pa wrthrych sydd gennych mewn gwirionedd?

Mae pum peth y mae pobl yn eu galw’n allwedd, a dim ond un ohonynt yw’r hyn y mae proffil TLS yn ei eisiau. Mae allwedd gyhoeddus SSH yn un llinell o destun â rhagddodiad math a phaill base64. Mae tystysgrif OpenSSH yn golygu’r allwedd honno ynghyd â llofnod, principals ac opsiynau, a gynhyrchir gan ssh-keygen sy’n gweithredu fel ei CA fach ei hun. Mae tystysgrif X.509 yn strwythur hollol wahanol, sy’n cario pwnc, ffenestr ddilysrwydd, estyniadau a llofnod gan awdurdod tystysgrifau. Mae allwedd breifat yn hanner cyfrinachol, ac mae pecyn a ddyroddwyd fel arfer yn dystysgrif ynghyd â’i gadwyn ynghyd â’r allwedd breifat mewn un ffeil.

Mae’r prawf cyntaf yn costio un gorchymyn. Pwyntiwch openssl at y ffeil a gofynnwch iddo ddadansoddi strwythur y dystysgrif:

openssl x509 -in client.crt -noout -subject -issuer

Os yw hynny’n methu â gwall methu llwytho neu wall PEM, nid yw’r ffeil yn dystysgrif X.509 waeth beth a’i galwodd chi. Nid yw ailenwi yn ailysgrifennu’r ASN.1 y tu mewn, ac nid yw lapio llinell allwedd gyhoeddus mewn testun pennawd PEM yn gwneud hynny chwaith.

A yw’r proffil yn gofyn am dystysgrif o gwbl?

Mae tystysgrifau cleient yn un dull dilysu ymhlith sawl un, ac mae digon o broffiliau TLS sy’n gweithio yn peidio â gofyn am un byth. Gall gweinydd ddilysu defnyddwyr drwy ategyn, enw defnyddiwr a chyfrinair, neu gefndir tocennau, tra’n dal i fynnu bod y cleient yn gwirio hunaniaeth y gweinydd. Os nad yw’r proffil yn cario cyfarwyddeb tystysgrif cleient, ni ofynnir am unrhyw dystysgrif byth, ac ni fydd unrhyw drosiad yn gwneud i’r porth ofyn am un.

Mae ffurfweddiadau allwedd statig hŷn yn drydydd achos. Maent yn rhagflaenu ysgwyd llaw TLS ac yn disgwyl ffeil gyfrinach a rannwyd ymlaen llaw, a dyna pam na all gludo allwedd gyhoeddus yn y maes hwnnw weithio chwaith. Darllenwch beth mae’r proffil yn ei ofyn mewn gwirionedd cyn penderfynu bod y cyfrif heb fod yn iawn.

Beth all ailamgodio ei wneud a beth na all

Mae gan allweddi preifat gynwysyddion amgen cyfreithlon. Gellir ysgrifennu’r un allwedd RSA neu EC fel PEM traddodiadol, fel PKCS#8, neu o fewn pecyn PKCS#12, a bydd offer yn trosi rhyngddynt yn fodlon. Mae gan allweddi cyhoeddus stori debyg: gall ssh-keygen allforio ffurf RFC 4716 o allwedd SSH, ac mae OpenSSH hefyd yn deall ei fformat tystysgrif ei hun. Cynrychioliad yw’r cyfan, ac nid yw cynrychioliad yn ymddiriedaeth.

Yr hyn na all trosiad ei wneud yw creu llofnod gan awdurdod tystysgrifau nad yw erioed wedi gweld eich allwedd. Mae tystysgrif yn ddatganiad gan ddyroddwr bod allwedd gyhoeddus benodol yn perthyn i bwnc penodol at ddiben penodol. Mae ailamgodio’n cadw bytes yr allwedd ac yn gadael y datganiad yn absennol, felly nid oes gan y porth ddim i’w ddilysu yn erbyn ei storfa ymddiriedaeth.

Dyma’r cam lle mae’r rhan fwyaf o ymdrechion yn methu’n dawel: mae’r ffeil nawr yn gorffen mewn .crt, mae’r cleient yn ei darllen heb gwyn, ac mae’r ysgwyd llaw yn dal i ddod i ben oherwydd na all y cyfoed adeiladu cadwyn i ddyroddwr ymddiriededig.

Lle mae’r awdurdod tystysgrifau yn dod i’r darlun

Mae cofrestriad go iawn yn dechrau gyda phâr o allweddi a reolwch chi a chais llofnodi tystysgrif sy’n cario’r pwnc a ddisgwylir gan y gweithredwr. Mae’r gweithredwr yn gwirio hawl, yn llofnodi’r cais â’r allwedd CA, ac yn dychwelyd y dystysgrif a ddyroddwyd ynghyd ag unrhyw gadwyn ganolradd y mae’n rhaid i’r cleient ei chyflwyno. Yna mae angen tystysgrif CA y llofnododd hi ar y cleient, oherwydd dyna’r peth sy’n gadael iddo gadarnhau bod y gweinydd y mae’n siarad ag ef yn perthyn i’r un defnydd.

Mae’r ffeil olaf honno’n hawdd ei hanghofio ac yn amhosibl ei disodli. Nid yw allwedd llofnodi’r CA ei hun byth yn perthyn i ffurfweddiad cleient, ac nid yw unrhyw faint o drosi lleol yn cynhyrchu’r gadwyn y dylech fod wedi’i chael.

Beth mae ailddefnyddio’r allwedd SSH yn ei gostio i chi

Tybiwch fod trosiad wedi cynhyrchu rhywbeth derbyniol. Mae ailddefnyddio un pâr o allweddi ar gyfer mynediad SSH a dilysu VPN yn dal i gyplu dwy benderfyniad diogelwch annibynnol. Mae dileu cofnod authorized_keys yn atal mewngofnodi SSH, ac nid yw’n gwneud dim i dystysgrif y mae CA y VPN eisoes wedi’i dyroddi ar gyfer yr un allwedd gyhoeddus. Mae ochr y VPN yn cael ei dirymu drwy ei fecanwaith ei hun, sef y rhestr dirymu tystysgrifau neu gofnod cofrestru’r gweithredwr.

Felly mae’r rhestr wirio yn gorffen â chyflwr stopio yn hytrach na thric. Os na fydd openssl yn dadansoddi’r ffeil fel tystysgrif, stopiwch drosi a disgrifiwch yr hyn sydd gennych: allwedd SSH, tystysgrif SSH, tystysgrif X.509, allwedd breifat, neu becyn. Os nad yw’r proffil yn gofyn am dystysgrif cleient, stopiwch a gofynnwch pa ddull dilysu y mae’r gweinydd yn ei ddisgwyl. Dim ond pan fydd y ddau ateb yn pwyntio at X.509 y daw cofrestriad yn gam nesaf, ac mae’r sgwrs honno’n mynd lawer yn gyflymach gyda’r enw cywir yn y frawddeg gyntaf.

Erthyglau cysylltiedig