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

如何在Azure DevOps构建流水线中添加SSH服务连接并授权所有流水线?

在Azure DevOps中创建SSH服务连接并配置全流水线访问权限

Azure DevOps目前没有直接通过构建流水线任务创建SSH服务连接的内置功能,你可以通过以下两种方式实现需求:

一、手动创建SSH服务连接(快速操作)

  • 打开Azure DevOps项目,点击左下角项目设置(齿轮图标)
  • 左侧菜单选择服务连接,点击右上角新建服务连接
  • 选择SSH类型,点击下一步
  • 填写核心信息:
    • 连接名称:自定义易识别的名称
    • 主机名:目标服务器IP地址
    • 端口:默认22,按需修改
    • 用户名:指定的SSH登录用户名
    • 认证方式选SSH密钥,粘贴私钥内容(注意是私钥而非公钥),有密钥密码则填写
  • 勾选授予所有流水线对此服务连接的访问权限,点击保存即可

二、通过REST API在流水线中自动化创建

如果需要通过流水线完成创建,可调用Azure DevOps REST API实现:

1. 准备个人访问令牌(PAT)

  • 点击右上角个人头像→个人访问令牌
  • 创建令牌时勾选**Service Connections (Read, manage)**权限,保存好令牌

2. 配置流水线

  • 在流水线中添加秘密变量AZURE_DEVOPS_PAT,值为刚才生成的PAT(勾选保密选项)
  • 添加PowerShell任务,插入以下脚本(替换占位符为实际信息):
$orgUrl = "https://dev.azure.com/你的组织名"
$projectName = "你的项目名"
$serviceConnectionName = "自定义SSH连接名称"
$pat = $env:AZURE_DEVOPS_PAT
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$pat"))

# 构造SSH服务连接请求体
$body = @"
{
  "name": "$serviceConnectionName",
  "type": "ssh",
  "url": "ssh://目标服务器IP:22",
  "authorization": {
    "scheme": "sshPublicKey",
    "parameters": {
      "username": "你的SSH用户名",
      "privateKey": "你的私钥内容(将换行符替换为\\n)",
      "passphrase": "密钥密码(无则留空)"
    }
  },
  "data": {
    "host": "目标服务器IP",
    "port": "22"
  },
  "isReady": true,
  "serviceEndpointProjectReferences": [
    {
      "projectReference": {
        "id": "你的项目ID(从项目设置→概述获取)",
        "name": "$projectName"
      },
      "name": "$serviceConnectionName",
      "description": ""
    }
  ],
  "grantAllPermissions": true
}
"@

# 调用API创建服务连接
Invoke-RestMethod -Uri "$orgUrl/$projectName/_apis/serviceendpoint/endpoints?api-version=7.1-preview.4" `
  -Method Post `
  -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} `
  -ContentType "application/json" `
  -Body $body

注意事项

  • 私钥内容中的换行符需替换为\\n,避免JSON解析错误
  • 项目ID可在项目设置→概述页面获取
  • grantAllPermissions": true参数用于自动授予所有流水线访问权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:17:41