我试图连接存在于我们的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计算机吗?如果是,如何连接另一个域中存在的计算机?
答案 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。输入凭据时,您应该能够在构建服务器上使用本地帐户。该帐户必须与另一个域中的帐户具有相同的密码。在其他工作中,请确保在构建代理上运行的构建帐户能够连接另一个域。
还要确保域之间存在信任关系。