NetworkManager에서 OpenConnect TOTP 입력란이 표시되지 않음: 네 가지 확인
게이트웨이가 일회용 코드를 요구하지만 NetworkManager 대화 상자에는 그 입력란이 없습니다. 비밀 정보를 수정하기 전에 인증이 어디서 멈췄는지 확인하십시오.
게이트웨이는 암호를 받아들이고 코드를 요구하지만 대화 상자에는 그 입력란이 없습니다. 잘못 입력한 것이 아니라 NetworkManager 플러그인이 여섯 자리 값을 요구하지 않고 비밀 교환을 완료한 것입니다. 아래 네 가지 확인을 순서대로 진행하십시오. 클라이언트를 바꾸는 것은 그중 하나뿐이며, 나머지 항목은 게이트웨이, 계정, 플러그인 빌드를 배제합니다.
첫 번째 확인: 인증이 어디서 멈췄는지 읽기
잘못된 암호는 즉시 실패합니다. 두 번째 요소가 없으면 자격 증명 단계 뒤에 실패하며, 보통 요청이 반복되거나 게이트웨이 쪽에서 시간 초과가 납니다. 타이밍과 게이트웨이 로그를 보면 어느 라운드가 응답 없이 남았는지 알 수 있습니다.
프로필을 건드리기 전에 연결 로그를 읽으십시오. 게이트웨이가 불완전한 인증이나 만료된 챌린지를 보고하면 클라이언트가 코드를 보낸 적이 없습니다. 잘못된 자격 증명을 보고하면 암호가 문제이며 어떤 TOTP 설정도 고치지 못합니다.
게이트웨이가 기대하는 정확한 요청 순서는 사용자 이름, 암호, 그다음 코드이거나 사용자 이름, 코드, 그다음 암호입니다. 일부 게이트웨이는 라운드 순서를 바꾸며, 첫 번째 순서만 아는 클라이언트는 두 번째에서 멈춥니다.
두 번째 확인: 챌린지를 가진 클라이언트 사용
OpenConnect 자체가 챌린지 라운드를 포함한 전체 대화를 구현합니다. 직접 실행하는 것이 계정과 게이트웨이가 작동하는지 확인하는 가장 예측 가능한 방법입니다:
sudo openconnect --protocol=anyconnect --useragent=AnyConnect vpn.example.net클라이언트는 게이트웨이가 요청하는 순서대로 묻습니다. 사용자 에이전트가 중요한 이유는 일부 게이트웨이가 알려진 클라이언트에 맞춰 로그인 흐름을 조정하기 때문이며, 일반 문자열은 코드를 전혀 요구하지 않는 더 짧은 흐름을 만들 수 있습니다. 백그라운드 서비스를 마련하기 전에 한 번 포그라운드에서 실행하십시오.
명령줄이 올바르게 요청하면 계정, 게이트웨이, 두 번째 요소는 정상입니다. 남은 문제는 플러그인의 대화 상자이지 인증 서비스가 아닙니다. 이는 서버를 건드리지 않고 고장난 구성 요소를 분리합니다. 명령 출력은 사고 기록과 함께 보관하십시오.
명령줄도 요청을 건너뛰면 멈추고 게이트웨이 구성을 담당자와 확인하십시오. 서버가 절대 보내지 않는 챌린지에 어떤 데스크톱 클라이언트도 응답할 수 없습니다.
세 번째 확인: 플러그인이 TOTP 모드를 제공하는지 보기
일부 NetworkManager OpenConnect 빌드는 연결의 Identity 탭에 토큰 모드와 사용자 에이전트 필드를 제공합니다. 사용자 에이전트를 게이트웨이가 기대하는 값으로 설정하고 수동 TOTP 입력을 선택한 뒤 연결을 저장하십시오.
이 필드의 존재 여부는 플러그인 버전과 데스크톱이 어떤 연결 편집기를 쓰는지에 달려 있습니다. 독립 편집기는 GNOME 패널이 숨기는 옵션을 보여 줄 수 있고 그 반대일 수도 있습니다. 숨은 설정을 찾기 전에 설치된 패키지 버전을 확인하십시오.
토큰 모드가 있는데도 요청이 나타나지 않으면 빌드에 플러그인과 일반 비밀 대화 상자 사이의 챌린지 전달이 없습니다. 암호를 다시 입력하거나 같은 패키지를 재설치하거나 키링을 지워도 빌드가 구현하지 않은 필드는 생기지 않습니다.
네 번째 확인: 생성된 코드를 절충으로 보기
스크립트는 현재 코드를 위해 oathtool을 호출하고 사용자 이름, 암호, 코드를 nmcli connection up --ask로 넘길 수 있습니다. 이 순서는 작동하지만 공유 비밀은 스크립트를 열 수 있는 사람이면 누구나 읽을 수 있는 곳에 저장되며, 그 독자는 영원히 코드를 만들 수 있습니다. 이는 자격 증명 노출면의 영구적 확장이지 클라이언트 수정이 아닙니다.
이를 선택하는 사람은 비밀 파일을 root로 제한하고 생성된 값을 셸 기록에 남기지 않으며 스크립트를 자격 증명 자료로 취급해야 합니다. 코드를 터미널에 출력하는 래퍼는 두 번째 요소를 버리는 것입니다. 먼저 일회용 계정으로 래퍼를 시험하십시오.
스크립트는 게이트웨이의 요청 순서도 따라야 합니다. 서버가 암호보다 코드를 먼저 요구하면 고정된 입력 순서는 잘못된 값을 잘못된 요청에 보내 같은 불완전한 인증을 만듭니다. 로그인 작업에 연결하기 전에 테스트 계정으로 연습하십시오.
같은 게이트웨이와 계정 확인
모든 우회 방법을 같은 게이트웨이, 같은 계정, 같은 터널 그룹에 대해 시험하십시오. 장치 인증서도 요구하는 게이트웨이는 TOTP와 무관한 이유로 명령줄 클라이언트를 거부할 수 있고, 요청 순서가 연습한 것과 다를 수 있습니다.
작동한 클라이언트, 버전, 사용자 에이전트, 요청 순서를 기록하십시오. 그 기록은 다음 사람에게 문제가 플러그인 빌드인지, 게이트웨이 흐름인지, 계정 정책인지 알려 주며 암호 재설정을 또 한 번 거칠 필요가 없습니다.
완전히 로그아웃한 뒤 한 번 다시 연결하여 마무리하십시오. 캐시된 비밀이 있으면 고장 난 흐름이 다음 세션까지 고쳐진 것처럼 보일 수 있으며, 누락된 요청은 보통 두 번째 연결에서 돌아옵니다.