You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu环境下az login无法预留端口报错,求解决方案

解决Ubuntu上az login端口占用/无法分配地址的问题

我之前在Ubuntu上用Azure CLI登录时也碰到过一模一样的问题,试了好几种方法才搞定,给你分享几个可行的解决方案:

  • 手动指定未被占用的端口登录
    既然自动扫描的8400-8999端口都不行,咱们直接指定一个不在这个范围内的端口试试。比如选9000,先确认这个端口没被占用:

    ss -tulpn | grep 9000
    

    如果没有任何输出,说明端口可用,接着用这个命令登录:

    az login --redirect-port 9000
    
  • 检查防火墙或安全工具的拦截
    Ubuntu默认的ufw防火墙可能挡住了这些端口的访问。先临时关闭防火墙测试:

    sudo ufw disable
    

    如果此时az login成功了,就把需要的端口段加入防火墙允许规则,再重新开启防火墙:

    sudo ufw allow 8400:8999/tcp
    sudo ufw enable
    

    另外也要留意有没有第三方安全软件(比如杀毒、代理工具)在占用或拦截这些端口,暂时关闭它们试试。

  • 切换到设备码登录(绕过本地端口)
    要是端口问题怎么都搞不定,换一种不需要本地端口的登录方式:

    az login --use-device-code
    

    执行后终端会输出一个验证代码和微软登录链接,你用任意浏览器打开链接,输入代码并登录你的Azure账号,终端这边就会自动完成登录流程,完全不用依赖本地端口。

  • 排查占用端口段的进程
    虽然你说整个8400-8999都报错误,但还是可以检查下有没有进程在监听这个范围内的端口:

    ss -tulpn | grep -E ':(8[4-9][0-9]{2})'
    

    输出里会显示占用端口的进程PID,用kill <PID>结束对应的进程后,再尝试az login。

  • 修改Azure CLI的默认端口范围
    你也可以直接修改Azure CLI的配置,让它在其他端口范围里找可用端口。编辑~/.azure/config文件(如果没有就新建一个),添加以下内容:

    [cloud]
    redirect_port_range = 9000-9500
    

    保存后重新运行az login,CLI就会在9000-9500这个范围内自动找可用端口了。

内容的提问来源于stack exchange,提问作者Abhishek Parmar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 20:47:34