Windows Machine中的TFS SSH任务失败

时间:2019-08-15 14:27:22

标签: ssh tfs azure-devops-server

我试图连接存在于我们的TFS 2018.3之外的其他域中的Windows机器。

我添加了“ SSH”任务,并使用远程计算机IP,用户名和密码创建了新的SSH端点,没有。我在SSH的远程计算机访问中配置了此用户名和密码。

在SSH任务中,我配置了一个简单的shell命令:ls

TFS代理成功连接机器,但失败,并显示以下错误:

  

无法在远程系统上执行命令或shell:无法执行进程。

完整日志:

2019-08-15T13:22:54.1491966Z Trying to setup SSH connection to ********@myserverinanotherdomain:22

2019-08-15T13:22:54.4085564Z Successfully connected.

2019-08-15T13:22:54.8120684Z tr -d '\015' <"./sshscript_1565875374136" > "./sshscript_1565875374136._unix"

2019-08-15T13:22:54.8121422Z Unable to execute command or shell on remote system: Failed to Execute process.

2019-08-15T13:22:54.8121745Z

2019-08-15T13:22:54.8180230Z ##[error]Command tr -d '\015' <"./sshscript_1565875374136" > "./sshscript_1565875374136._unix" exited with code 4294967295.

我认为是因为它是Windows计算机,所以我尝试执行Shell脚本。例如,如果我要安装Git bash,它可以提供帮助吗?

SSh任务仅支持Linux计算机吗?如果是,如何连接另一个域中存在的计算机?

1 个答案:

答案 0 :(得分:0)

作为通信协议的SSH与OS无关。它不是特定于Linux的。但是在Windows计算机/构建代理上使用SSH任务似乎存在局限性。在这里看看这个类似的问题:Not able to run bash script from windows using vsts.

我还没有找到明确声明Windows机器不支持SSh任务的文档。但是我发现了一个也使用SSH的任务-通过SSH复制文件任务。根据官方link中的问答,

  

运行操作系统的目标计算机是否支持此任务   除了Linux?

     

该任务适用于运行Linux的目标计算机

     
      
  • 要将文件复制到macOS计算机,可以使用此任务,但不支持使用密码进行身份验证。
  •   
  • 要将文件复制到Windows计算机,请考虑使用Windows Machine File Copy。
  •   

代替SSH。输入凭据时,您应该能够在构建服务器上使用本地帐户。该帐户必须与另一个域中的帐户具有相同的密码。在其他工作中,请确保在构建代理上运行的构建帐户能够连接另一个域。

还要确保域之间存在信任关系。