SSH@0 - SSH v0 任务

使用此任务通过 SSH 在远程计算机上运行 shell 命令或脚本。 使用此任务,你可以使用 SSH 连接到远程计算机,并运行命令或脚本。

语法

# SSH v0
# Run shell commands or a script on a remote machine using SSH.
- task: SSH@0
  inputs:
    sshEndpoint: # string. Required. SSH service connection. 
    runOptions: 'commands' # 'commands' | 'script' | 'inline'. Required. Run. Default: commands.
    commands: # string. Required when runOptions = commands. Commands. 
    #scriptPath: # string. Required when runOptions = script. Shell script path. 
    #inline: # string. Required when runOptions = inline. Inline Script. 
    #interpreterCommand: '/bin/bash' # string. Optional. Use when runOptions = inline. Interpreter command. Default: /bin/bash.
    #args: # string. Optional. Use when runOptions = script. Arguments. 
  # Advanced
    #failOnStdErr: true # boolean. Fail on STDERR. Default: true.
    #interactiveSession: false # boolean. Enable interactive session. Default: false.
    readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
    #interactiveKeyboardAuthentication: false # boolean. Use interactive-keyboard authentication. Default: false.
# SSH v0
# Run shell commands or a script on a remote machine using SSH.
- task: SSH@0
  inputs:
    sshEndpoint: # string. Required. SSH service connection. 
    runOptions: 'commands' # 'commands' | 'script' | 'inline'. Required. Run. Default: commands.
    commands: # string. Required when runOptions = commands. Commands. 
    #scriptPath: # string. Required when runOptions = script. Shell script path. 
    #inline: # string. Required when runOptions = inline. Inline Script. 
    #interpreterCommand: '/bin/bash' # string. Optional. Use when runOptions = inline. Interpreter command. Default: /bin/bash.
    #args: # string. Optional. Use when runOptions = script. Arguments. 
  # Advanced
    #failOnStdErr: true # boolean. Fail on STDERR. Default: true.
    #interactiveSession: false # boolean. Enable interactive session. Default: false.
    readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
# SSH v0
# Run shell commands or a script on a remote machine using SSH.
- task: SSH@0
  inputs:
    sshEndpoint: # string. Required. SSH service connection. 
    runOptions: 'commands' # 'commands' | 'script' | 'inline'. Required. Run. Default: commands.
    commands: # string. Required when runOptions = commands. Commands. 
    #scriptPath: # string. Required when runOptions = script. Shell script path. 
    #inline: # string. Required when runOptions = inline. Inline Script. 
    #args: # string. Optional. Use when runOptions = script. Arguments. 
  # Advanced
    #failOnStdErr: true # boolean. Fail on STDERR. Default: true.
    readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
# SSH v0
# Run shell commands or a script on a remote machine using SSH.
- task: SSH@0
  inputs:
    sshEndpoint: # string. Required. SSH service connection. 
    runOptions: 'commands' # 'commands' | 'script' | 'inline'. Required. Run. Default: commands.
    commands: # string. Required when runOptions = commands. Commands. 
    #scriptPath: # string. Required when runOptions = script. Shell script path. 
    #inline: # string. Required when runOptions = inline. Inline Script. 
    #args: # string. Optional. Use when runOptions = script. Arguments. 
  # Advanced
    #failOnStdErr: true # boolean. Fail on STDERR. Default: true.

输入

sshEndpoint - SSH 服务连接
string. 必需。

指定包含远程计算机的连接详细信息的 SSH 服务连接的名称。 创建 SSH 服务连接需要使用远程计算机的主机名或 IP 地址、端口号以及用户名。

  • 必须为身份验证指定私钥和通行短语。
  • 密码可用于向远程 Linux 计算机进行身份验证,但 macOS 或 Windows 系统不支持此密码。

runOptions - 运行
string. 必需。 允许的值: commandsscript (脚本文件) 、 inline (内联脚本) 。 默认值:commands

在远程计算机上运行 shell 命令或 shell 脚本。


commands - 命令
string. 当 runOptions = commands 时,需要此选项。

指定要在远程计算机上运行的 shell 命令。 仅当为“运行”选项选择了“命令”时,此参数才可用。 在“多行”文本框的新行中输入每个命令及其参数。 若要同时运行多个命令,请在同一行中输入它们并用分号分隔它们。 示例:cd /home/user/myFolder;build

注意

每个命令在单独的进程中运行。 如果要运行一系列相互依赖的命令 (例如,在执行命令) 之前更改当前文件夹,请改用 “内联脚本” 选项。


scriptPath - Shell 脚本路径
string. 当 runOptions = script 时,需要此选项。

指定要在远程计算机上运行的 shell 脚本文件的路径。 仅当为“运行”选项选择了“Shell 脚本”时,此参数才可用。


inline - 内联脚本
string. 当 runOptions = inline 时,需要此选项。

编写在远程计算机上运行的 shell 脚本。


interpreterCommand - 解释器命令
string. 可选。 在 时 runOptions = inline使用 。 默认值:/bin/bash

指定用于执行脚本的命令解释器的路径。 在脚本开头添加一个 shebang 行。 仅与 UNIX 类的操作系统相关。 对基于 Windows 的远程主机使用空字符串。 详细了解 shebang (#!)


args - 参数
string. 可选。 在 时 runOptions = script使用 。

指定要传递给 shell 脚本的参数。 仅当为“运行”选项选择了“Shell 脚本”时,此参数才可用。


failOnStdErr - STDERR 失败
boolean. 默认值:true

如果值为 true,则当远程命令或脚本写入 时 STDERR,生成将失败。


interactiveSession - 启用交互式会话
boolean. 默认值:false

启动交互式会话。 密码请求由用户的密码填充。 交互式会话可用于运行命令,例如 sudo


readyTimeout - SSH 握手超时
string. 必需。 默认值:20000

指定任务等待 SSH 握手完成) (的时长(以毫秒为单位)。


interactiveKeyboardAuthentication - 使用交互式键盘身份验证
boolean. 默认值:false

启用交互式键盘身份验证。 true如果目标 SSH 服务器需要交互式键盘身份验证,PasswordAuthentication (在目标计算机上禁用/在 sshd_config) 中设置为“否”,则设置为 。


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

无。

备注

使用此任务通过 SSH 在远程计算机上运行 shell 命令或脚本。 使用此任务,你可以使用 SSH 连接到远程计算机,并运行命令或脚本。

先决条件

  • 此任务支持使用 SSH 密钥对连接到远程计算机。
  • 必须将公钥预先安装或复制到远程计算机。

支持的算法

密钥对算法

  • RSA
  • DSA

加密算法

  • aes256-cbc
  • aes192-cbc
  • aes128-cbc
  • blowfish-cbc
  • 3des-cbc
  • arcfour256
  • arcfour128
  • cast128-cbc
  • arcfour

对于 OpenSSL v1.0.1 及更高版本(在代理上):

  • aes256-ctr
  • aes192-ctr
  • aes128-ctr

对于 OpenSSL v1.0.1 及更高版本、NodeJS v0.11.12 及更高版本(在代理上):

  • aes128-gcm
  • aes128-gcm@openssh.com
  • aes256-gcm
  • aes256-gcm@openssh.com

要求

要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 2.206.1 或更高版本
任务类别 部署
要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 2.144.0 或更高版本
任务类别 部署
要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 2.102.0 或更高版本
任务类别 部署

另请参阅