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

Ubuntu 22.04服务器通过Bash用SSO从TeamCity下载构建产物遇认证问题

在Ubuntu 22.04.3上通过wget从微软SSO+2FA的TeamCity下载构建产物

直接用wget --user/--password参数无法成功,因为TeamCity启用微软SSO后,不再支持标准HTTP基础认证,而是需要通过微软的SSO流程完成身份验证,wget的基础认证参数无法处理SSO跳转和2FA验证,因此会返回401错误。

下面是两种可行的解决方案:

方法一:使用TeamCity个人访问令牌(PAT,推荐)

这是最稳定的方案,无需依赖SSO会话:

    1. 登录TeamCity网页端,点击右上角头像 → My Settings & Tools
    1. 在左侧菜单选择Access Tokens,点击Create token
    1. 填写令牌名称、设置过期时间,勾选至少Download artifacts权限,生成令牌后复制保存(令牌仅显示一次)
    1. 使用wget下载,命令格式:
    wget --user="你的微软账号用户名" --password="生成的PAT令牌" -v https://teamcity***.iso
    
    若上述命令无效,可尝试将PAT作为用户名,密码留空:
    wget --user="生成的PAT令牌" --password="" -v https://teamcity***.iso
    

方法二:使用浏览器导出的认证Cookie(临时方案)

适合临时下载,Cookie过期后需重新导出:

    1. 在本地浏览器打开TeamCity,完成微软SSO和2FA登录
    1. 用浏览器插件(如Chrome的「Get Cookies.txt LOCALLY」)导出TeamCity域名下的所有Cookie为Netscape格式文件
    1. 将Cookie文件上传到Ubuntu服务器
    1. 执行wget命令加载Cookie:
    wget --load-cookies cookies.txt -v https://teamcity***.iso
    

内容的提问来源于stack exchange,提问作者Ubuntu Learner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:52:38