Nawawala ang TOTP prompt ng OpenConnect sa NetworkManager: apat na pagsusuri
Hinihingi ng gateway ang isang beses-gamitin na code at hindi kailanman nag-aalok ang dialog ng NetworkManager ng field para dito. Tingnan kung saan huminto ang pagpapatunay bago i-edit ang mga sikreto.
Tinatanggap ng gateway ang password, humihingi ng code, at walang field na inaalok ang dialog para dito. Walang maling naipasok: natapos ng plugin ng NetworkManager ang palitan ng sikreto nang hindi hinihingi ang anim na digit na halaga. Sundin ang apat na pagsusuri sa ibaba nang sunud-sunod, dahil isa lang sa kanila ang nagbabago ng client. Ibinubukod ng natitirang listahan ang gateway, account at build ng plugin.
Unang pagsusuri: basahin kung saan huminto ang pagpapatunay
Agad nabigo ang maling password. Nabigo ang kulang na pangalawang factor pagkatapos ng hakbang ng kredensyal, kadalasan sa paulit-ulit na hiling o timeout sa panig ng gateway. Sinasabi ng oras at log ng gateway kung aling round ang naiwang walang sagot.
Basahin ang log ng koneksyon bago hawakan ang profile. Kung nag-uulat ang gateway ng hindi kumpletong pagpapatunay o nag-expire na hamon, hindi kailanman ipinadala ng client ang code. Kung nag-uulat ito ng di-wastong kredensyal, ang password ang problema at walang setting ng TOTP ang makakatama nito.
Itala ang eksaktong pagkakasunod-sunod ng hiling na inaasahan ng gateway: username, password, pagkatapos code, o username, code, pagkatapos password. May mga gateway na nagbabago ng ayos ng round, at ang client na alam lang ang unang ayos ay titigil sa pangalawa.
Ikalawang pagsusuri: gamitin ang client na nagmamay-ari ng hamon
Ang OpenConnect mismo ang nagpapatupad ng buong usapan, kasama ang round ng hamon. Ang direktang pagpapatakbo nito ang pinaka-hula-hula na paraan para kumpirmahin na gumagana ang account at gateway:
sudo openconnect --protocol=anyconnect --useragent=AnyConnect vpn.example.netNagtanong ang client sa ayos na itinatanong ng gateway. Mahalaga ang user agent dahil may mga gateway na iniaangkop ang daloy ng login sa kilalang client, at ang pangkalahatang string ay makakagawa ng mas maikling daloy na hindi kailanman humihingi ng code. Patakbuhin ito nang isang beses sa harapan bago ayusin ang anumang serbisyo sa background.
Kung tama ang pagtanong ng command line, maayos ang account, gateway at pangalawang factor. Ang natitirang problema ay ang dialog ng plugin, hindi ang serbisyo ng pagpapatunay. Inihihiwalay nito ang sira na bahagi nang hindi hinahawakan ang server. Itabi ang output ng command kasama ang talaan ng insidente.
Kung nilalaktawan din ng command line ang hiling, huminto at tingnan ang configuration ng gateway kasama ang may-ari nito. Walang desktop client ang makasasagot sa hamon na hindi kailanman ipinapadala ng server.
Ikatlong pagsusuri: tingnan kung may TOTP mode ang plugin mo
May mga build ng NetworkManager OpenConnect na nag-aalok ng token mode at user agent field sa Identity tab ng koneksyon. Itakda ang user agent sa halagang inaasahan ng gateway, piliin ang manual na pagpasok ng TOTP at i-save ang koneksyon.
Kung umiiral ang mga field na iyon ay depende sa bersyon ng plugin at sa kung aling editor ng koneksyon ang ginagamit ng desktop. Maaaring magpakita ang standalone na editor ng mga opsyon na itinatago ng GNOME panel, o kabaliktaran. Tingnan ang bersyon ng naka-install na package bago maghanap ng nakatagong setting.
Kung may token mode at hindi pa rin lumilitaw ang hiling, kulang ang build sa paglilipat ng hamon sa pagitan ng plugin at ng generic na dialog ng sikreto. Ang muling pag-type ng password, muling pag-install ng parehong package o paglilinis ng keyring ay hindi gagawa ng field na hindi ipinapatupad ng build.
Ikaapat na pagsusuri: ituring ang generated na code bilang trade-off
Maaaring tumawag ang script sa oathtool para sa kasalukuyang code at ipasa ang username, password at code sa nmcli connection up --ask. Gumagana ang pagkakasunod-sunod, ngunit ang ibinahaging sikreto ay nauuwi sa isang lugar na mababasa ng kahit sino na makakabukas ng script, at ang mambabasa na iyon ay makakagawa ng mga code magpakailanman. Ito ay permanenteng pagpapalawak ng surface ng kredensyal, hindi pag-aayos ng client.
Sinumang pipili nito ay dapat i-lock ang secret file sa root, itago ang mga generated na halaga sa labas ng shell history at ituring ang script bilang credential material. Ang wrapper na nag-echo ng code sa terminal ay nagtatapon ng pangalawang factor. Subukan muna ang wrapper gamit ang disposable na account.
Dapat ding sundin ng script ang pagkakasunod-sunod ng hiling ng gateway. Kung hinihingi ng server ang code bago ang password, ang fixed na input sequence ay nagpapadala ng maling halaga sa maling hiling at gumagawa ng parehong hindi kumpletong pagpapatunay. Sanayin ito gamit ang test account bago ikonekta sa login job.
Kumpirmahin ang parehong gateway at account
Subukan ang bawat workaround sa parehong gateway, parehong account at parehong tunnel group. Ang gateway na nangangailangan din ng device certificate ay maaaring tumanggi sa command-line client dahil sa dahilang walang kaugnayan sa TOTP, at ang pagkakasunod-sunod ng hiling ay maaaring iba sa sinanay.
Itala ang client, bersyon nito, user agent at pagkakasunod-sunod ng hiling na gumana. Sinasabi ng talaang iyon sa susunod na tao kung ang problema ay build ng plugin, daloy ng gateway o patakaran ng account, nang walang isa pang round ng pag-reset ng password.
Tapusin sa pamamagitan ng muling pagkonekta nang isang beses pagkatapos ng buong logout. Ang naka-cache na sikreto ay maaaring magpamukhang naayos ang sirang daloy hanggang sa susunod na session, at sa ikalawang koneksyon karaniwang bumabalik ang nawawalang hiling.