could not read Auth username from stdin yn edrych fel problem dilysu ac nid yw. Ceisiodd OpenVPN ofyn am yr enw defnyddiwr ar fewnbwn safonol, ni chafodd ddim darllenadwy, a stopiodd cyn iddo erioed gysylltu â'r gweinydd. Gall y cyfrif fod yn gwbl ddilys; nid oes gan y broses neb i ofyn iddo.

Dyna pam mai'r cam defnyddiol cyntaf yw cadarnhau beth mae'r cleient yn ei ddarllen, nid ceisio'r cysylltiad eto nac newid gosodiadau ar ochr y gweinydd. Ewch drwy'r gwiriadau isod yn eu trefn, a stopiwch ar yr un cyntaf sy'n methu.

Darllenwch y gwall fel methiant mewnbwn lleol

Pan auth-user-pass yn ymddangos heb ddadl ffeil, mae'r cleient yn disgwyl anog. Mewn plisgyn rhyngweithiol mae'r anogiad hwnnw'n gweithio oherwydd bod gan y broses derfynell. O dan systemd, tasg cron, neu gynhwysydd, mae mewnbwn safonol fel arfer yn wag, ac mae'r darlleniad yn dychwelyd ar unwaith gyda'r gwall rydych yn ei weld.

Mae'r neges hefyd yn enwi'r maes a fethodd, sef enw defnyddiwr neu gyfrinair, sy'n dweud wrthych pa mor bell yr aeth y darlleniad. Mae enw defnyddiwr ar goll yn golygu na allai'r broses ddarllen unrhyw beth o gwbl. Mae cyfrinair ar goll ar ôl enw defnyddiwr llwyddiannus yn golygu bod y ffrwd fewnbwn wedi gorffen rhwng y ddau ddarlleniad, sy'n nodweddiadol o ffeil hanner ysgrifenedig neu bibell a gaewyd.

Cadarnhewch farn y cleient ei hun cyn newid unrhyw beth arall. Rhedwch ef yn y blaendir gyda'r un ffurfweddiad a'r un defnyddiwr, a gwyliwch a yw'r anogiad yn ymddangos. Os yw'n ymddangos yn eich plisgyn ond nid o dan y rheolwr gwasanaeth, y gwahaniaeth yw'r ffynhonnell fewnbwn, nid y credydau. Mae cymhariaeth gyflym o'r ffeil uned a'ch amgylchedd plisgyn fel arfer yn dangos pa un sy'n darparu terfynell.

Rhowch ffynhonnell credydau a gefnogir i'r gwasanaeth

Y ffynhonnell a gefnogir ar gyfer gweithredu heb oruchwyliaeth yw ffeil credydau a basiwyd fel dadl i auth-user-pass. Darllenir y ffeil fel testun plaen: y llinell gyntaf yw'r enw defnyddiwr, yr ail yw'r cyfrinair. Pwyntiwch ati gyda llwybr absoliwt fel /etc/openvpn/client/creds fel na all cyfeiriad gwaith y cyfrif gwasanaeth newid ystyr y gyfarwyddeb.

Mae caniatadau yr un mor bwysig â'r llwybr. Rhaid i'r ffeil fod yn ddarllenadwy gan y cyfrif sy'n rhedeg y cleient ac nid gan bawb arall, a dylai fod yn eiddo i'r cyfrif gwasanaeth neu i root gyda grŵp sy'n cynnwys y gwasanaeth. Gwiriwch y darllenadwyedd fel y cyfrif hwnnw, heb argraffu'r cynnwys.

Llwybr cymharol yw'r dull methu distaw. Gall y proffil fod mewn un cyfeiriadur tra bod systemd yn cychwyn y broses yn rhywle arall, felly nid yw ffeil sy'n datrys yn eich plisgyn yn datrys i'r gwasanaeth. Symudwch y credydau i leoliad sefydlog a chyfeiriwch atynt yn absoliwt. Yna cychwynnwch y gwasanaeth unwaith a chadarnhewch fod yr un llwybr yn cael ei ddefnyddio, yn hytrach na choelio barn golygydd y proffil.

Os yw'r defnydd yn gofyn am god unwaith neu her ryngweithiol arall, penderfynwch a yw llif gwaith y cleient mewn gwirionedd yn ei gefnogi heb oruchwyliaeth. Ni all ffeil â chyfrinair statig ateb cod sy'n cylchdroi, ac nid yw ceisio anogiad na ellir ei ateb yn ychwanegu gwybodaeth.

Pam na fydd script-security yn helpu

script-security yn rheoli a all y cleient redeg sgriptiau a faint y caiff basio iddynt, gan gynnwys a ellir rhoi cyfrinair i sgript drwy newidyn amgylchedd. Nid oes ganddo ddim i'w ddweud am o ble y daw'r enw defnyddiwr a'r cyfrinair yn y lle cyntaf.

Mae ei godi i lefel uwch yn reddf gyffredin oherwydd bod y neges yn sôn am Auth, ond mae'n newid caniatadau sgript yn hytrach na'r ffynhonnell fewnbwn, ac mae'n ehangu'r hyn y caiff y cleient ei weithredu. Os yw sgript ategol yn rhan o'r dyluniad, trwsiwch y ffynhonnell fewnbwn yn gyntaf a chadwch y lefel diogelwch ar y gwerth isaf sydd ei angen ar y defnydd.

Mae'r rhyngwyneb rheoli yn ddewis amgen dilys. Gall blaen-raglen gysylltu ag ef, derbyn y cais credydau, ac ateb gyda'r enw defnyddiwr a'r cyfrinair, sef sut mae rhai GUI yn gweithio. Os ydych yn ei ddefnyddio, rhwymwch ef i gyfeiriad lleol, ei ddiogelu â ffeil cyfrinair rheoli, a chyfyngu pwy all gysylltu, oherwydd sianel reoli i'r cleient yw hi.

Gwirwch y cam nesaf ar ôl i'r cleient ddarllen y ffeil

Unwaith y gall y cleient ddarllen y credydau, y methiant nesaf yw cyfnewid gwirioneddol â'r gweinydd, ac mae gan ei neges ystyr gwahanol. Mae methiant dilysu ar y cam hwnnw'n golygu bod y gweinydd wedi gwrthod y cyfrif; mae ymateb her yn golygu bod y gweinydd eisiau ffactor arall. Triniwch y rheini fel problemau newydd yn hytrach na'r un peth wedi'i ailadrodd.

Profwch y llwybr cyfan fel y bydd y gwasanaeth yn ei redeg: yr un cyfrif, yr un cyfeiriad gwaith, yr un amgylchedd uned. Mae cysylltiad sy'n gweithio dim ond pan gaiff ei gychwyn o'ch plisgyn yn arwydd bod newidyn amgylchedd neu derfynell yn dal yn rhan o'r llif.

Yna cadwch y cyfrinachau lle maent yn perthyn. Mae cyfrineiriau mewn dadleuon llinell orchymyn yn ymddangos yn nhabl y prosesau, ac mae cyfrineiriau mewn allbwn dadfygio yn gorffen mewn tocynnau. Defnyddiwch ffeil warchodedig neu'r rhyngwyneb rheoli, cadwch logiau ar lefel nad yw'n ailadrodd credydau, a chylchdroi'r ffeil pan fydd unrhyw un â mynediad yn gadael.

Rhestr wirio: llwybr credydau absoliwt, yn ddarllenadwy fel cyfrif gwasanaeth, dim angen terfynell, script-security ar ei isafswm, rhyngwyneb rheoli dim ond os yw wedi'i rwymo a'i ddilysu, a'r ymateb gweinydd sy'n deillio o hynny'n cael ei drin fel digwyddiad ar wahân.

Erthyglau cysylltiedig