Azure Pipeline self-hosted agent可否不绑定用户、无需PAT使用SSH认证?
Azure Pipeline自托管代理SSH认证相关问题解答
首先给出明确结论:当前Azure DevOps官方不支持使用SSH方式完成自托管代理的身份认证,也无法完全脱离关联用户身份完成代理注册,相关细节和替代方案如下:
- 自托管代理的注册环节强制要求提交身份凭证,官方仅支持两类合法凭证:个人访问令牌(PAT)、代理池/组织层面的系统分配短期注册令牌,两类凭证都需要对应到具备代理管理权限的Azure DevOps用户身份
- 如果你不想绑定固定个人用户的PAT,可以选择以下方案规避个人身份绑定问题:
- 使用服务账号生成PAT:申请独立的非个人服务账号,仅授予该账号代理池管理权限,用该账号生成的PAT注册代理,不会绑定到普通员工的个人身份
- 使用代理池一次性注册令牌:在Azure DevOps代理池设置页面生成的短期注册令牌仅用于注册环节,注册完成后即使令牌过期也不会影响代理正常运行,无需长期维护PAT
- 目前Azure DevOps代理和服务端的通信协议完全基于OAuth2体系设计,没有内置SSH密钥认证的交互逻辑,自行改造的适配成本极高,且后续无法获得官方的兼容性支持
提示:代理完成注册后就不需要持续持有注册用的PAT或注册令牌,注册成功后代理会和Azure DevOps服务端生成独立的长期会话凭证,不会因为注册用令牌过期导致代理离线。
内容的提问来源于stack exchange,提问作者Wesley Brandt
相关产品推荐
相关产品推荐

