Azure CLI 로그인 시 에러발생했을 때 대처법

1 분 소요

Azure CLI 로그인 시 발생한 에러

az login

명령을 수행할 때 아래와 같은 에러가 발생하는 경우가 있다.

"Max retries exceeded with url: /<api-url> (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))"

기본적으로 이것은 적어도 4 가지 다른 이유로 발생할 수 있다.

  1. 액세스중인 리소스에 자체 서명 된 인증서를 사용하고 있을 때.
  2. 인증서를 제공하는 데 사용 된 인증 기관이 운영 체제에 알려져 있지 않을 때.
  3. 인증서를 제공하는 데 사용되는 인증 기관이 프로그래밍 언어나 프레임워크에 알려져 있지 않을 때.
  4. 특정회사 네트워크 환경에서는 HTTPS 트래픽을 가로 채서 검사를 하는데 이를 위해 인증서 체인 상단에 자체 인증서를 추가하기 때문에 에러가 발생할 수 있다.

위의 모든 문제에 대한 해결책은 호출자가 신뢰하는 자체 서명 인증서 또는 최상위 루트 CA 인증서를 얻는 것이다. 이 경우 호출자는 Azure CLI이며 (최소한 Linux 및 macOS) Python 요청 모듈을 통해 수행된다. 다음과 같이 조치를 취하면 된다.

  1. 브라우저에서 오류 메시지에 언급 된 URL을 연다. 이하 지침은 Windows에서 Chrome을 사용하여 작성되었지만 다른 운영 체제의 다른 브라우저에서도 유사한 기능이 있다.
  2. 브라우저의 주소 표시 줄에서 자물쇠 아이콘을 클릭.
  3. 사이트 인증서를 본다.
  4. 페이지->인증서 체인의 루트 노드를 선택하고 클릭->인증서보기 . 이를 루트 CA 인증서라고 한다
  5. 루트 CA 인증서 에 대한 세부 사항 탭 페이지를 클릭 하고 파일복사를 클릭하십시오.
  6. 인증 내보내기 마법사를 열어, A와 디스크로 내보낼 선택 DER은 X.509 바이너리 인코딩 (.CER)
  7. 파일을 root_ca.cer로 저장.
  8. openssl을 사용하여 파일을 PEM 형식으로 변환한다.
openssl x509 -inform der -in root_ca.cer -out root_ca.pem

openssl 다운로드 : 다음 링크에서 다운받는다.

openssl 다운로드

openssl 환경변수 세팅 : 다음 링크를 참고한다.

opsnssl 환경변수세팅

root_ca.pem 을 메모장으로 열어 그내용을 그대로 복사해 다음경로의 파일을 열어 제일 마지막 라인에 추가해준다.

C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem

태그: ,

카테고리:

업데이트:

댓글남기기