使用Connect-AzAccount登录Azure PowerShell时遇到“The connection for this site is not secure”错误
使用Connect-AzAccount登录Azure PowerShell时遇到“The connection for this site is not secure”错误
看起来你遇到的是Azure PowerShell登录流程中,本地回调地址(localhost:8400)的安全证书问题。先帮你还原下你的操作流程:
- 你执行
Connect-AzAccount命令启动Azure PowerShell登录流程; - 浏览器自动打开微软的授权页面(URL如下),你选择账号后,因为*SSO(单点登录)*机制无需输入密码:
https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?scope=https%3a%2f%2fmanagement.core.windows.net%2f%2f.default+openid+profile+offline_access&response_type=code&client_id=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&redirect_uri=http%3a%2f%2flocalhost%3a8400%2f&claims=%7b%22access_tokenXXXXXXXXXXXXXXXXXXXXXXXXvaluesXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&client-request-id=XXXXXXXXXXXXXXXXXXXXXXX&x-client-SKU=MSAL.NetCore&x-client-Ver=4.49.1.0&x-client-CPU=x64&x-client-OS=Microsoft+Windows+10.0.22621&prompt=select_account&code_challenge=XXXXXXXXXXXXXXXXXXXXX&code_challenge_method=S256&state=XXXXXXXXXXXXXXXXXXX&client_info=1&sso_nonce=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX&mscrid=XXXXXXXXXXXXXXXXXXXXXXX&login_hint=MYNAME%40EMAIL.com
- 授权完成后,浏览器跳转到
https://localhost:8400/?code=XXXXXXXXXXX&client_info=XXXXXX&state=XXXXXXXXXXXXX&session_state=XXXXXXXXXXXXX,此时页面提示“The connection for this site is not secure”。
针对这个问题,你可以尝试以下几种解决方法:
方法1:信任本地localhost的SSL证书
Azure PowerShell的登录回调依赖本地的HTTPS服务,大概率是你的系统没有信任对应的自签名证书。你可以通过以下步骤处理:
- 打开PowerShell(以管理员身份);
- 运行命令:
Install-Module -Name Az.Accounts -Force,确保Azure账号模块是最新版本; - 然后运行:
Enable-AzPSDriveTrust,这个命令会自动安装并信任本地PowerShell所需的SSL证书。
方法2:使用设备码登录绕过浏览器回调
如果浏览器的SSL问题难以快速解决,你可以改用设备码登录方式,完全绕过本地回调环节:
在PowerShell中执行以下命令:
Connect-AzAccount -UseDeviceAuthentication
然后按照屏幕提示,打开指定页面输入设备码,完成登录即可,这个流程不需要依赖本地localhost的HTTPS服务。
方法3:临时绕过浏览器的安全提示
有些浏览器会严格拦截本地HTTPS的自签名证书,你可以尝试:
- 切换到Edge或Chrome作为默认浏览器;
- 当页面提示“连接不安全”时,点击页面上的“高级”选项,选择“继续前往localhost(不安全)”(不同浏览器的选项文字可能略有差异),继续完成授权流程。
备注:内容来源于stack exchange,提问作者greg
相关产品推荐
相关产品推荐

