登录Azure容器注册表

时间:2018-01-26 21:13:31

标签: python azure ssl https

我是Azure新手,我正在尝试从我的计算机(mac OS)运行命令行。我通过自制软件安装了azure-cli,当我执行az login时,出现以下错误:

  

请求中发生错误。,SSLError:HTTPSConnectionPool(host =' management.azure.com',port = 443):使用url:/ tenants超出最大重试次数?/ api-version = 2016-06- 01(由SSLError引起(SSLError("错误握手:错误([(' SSL例程',' ssl3_get_server_certificate','证书验证失败')] )&#34 ;,)))   Traceback(最近一次调用最后一次):     文件" /usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/urllib3/contrib/pyopenssl.py" ;,第441行,在wrap_socket中       cnx.do_handshake()     文件" /usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/SSL.py" ;,第1806行,在do_handshake中       self._raise_ssl_error(self._ssl,result)     文件" /usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/SSL.py" ;,第1546行,在_raise_ssl_error中       _raise_current_error()     文件" /usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/_util.py" ;,第54行,在exception_from_error_queue中       提出exception_type(错误)   OpenSSL.SSL.Error:[(' SSL例程',' ssl3_get_server_certificate','证书验证失败')]

我尝试了以下内容:

导出ADAL_PYTHON_SSL_NO_VERIFY = 1 export AZURE_CLI_DISABLE_CONNECTION_VERIFICATION = 1

按照:https://github.com/Azure/azure-cli/issues/2267

这让我可以登录,但是当我执行az acr login --name <registry name>时,我又遇到了类似的错误:

  

HTTPSConnectionPool(host =&#39; registryName.azurecr.io&#39;,port = 443):使用url:/ v2 /超出了最大重试次数(由SSLError引起(SSLError(&#34;错误的握手:错误( [(&#39; SSL例程&#39;,&#39; ssl3_get_server_certificate&#39;,&#39;证书验证失败&#39;)],)&#34;,),))   Traceback(最近一次调用最后一次):     文件&#34; /usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/urllib3/contrib/pyopenssl.py" ;,第441行,在wrap_socket中       cnx.do_handshake()     文件&#34; /usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/SSL.py" ;,第1806行,在do_handshake中       self._raise_ssl_error(self._ssl,result)     文件&#34; /usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/SSL.py" ;,第1546行,在_raise_ssl_error中       _raise_current_error()     文件&#34; /usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/_util.py" ;,第54行,在exception_from_error_queue中       提出exception_type(错误)   OpenSSL.SSL.Error:[(&#39; SSL例程&#39;,&#39; ssl3_get_server_certificate&#39;,&#39;证书验证失败&#39;)]

我有什么办法可以解决这个问题吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

我认为问题在于Python库无法正确执行握手。从错误来看,当SSL脚本发出请求时,OpenSSL似乎不想信任该请求。

https://pyopenssl.org/en/stable/api.html该站点提供有关OpenSSL库的信息。 Python脚本似乎无法正确实现SSL功能。

答案 1 :(得分:0)