我试图连接存在于另一个域中的 Windows 机器,而不是我们的 TFS 2018.3 存在。
我添加了“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 机器?如果是,我如何连接存在于另一个域中的机器?
SSH 作为一种通信协议与操作系统无关。它不是特定于 Linux 的。但是在 Windows 机器/构建代理上使用 SSH 任务似乎有限制。在这里看看这个类似的问题:无法使用 vsts 从 Windows 运行 bash 脚本。
我还没有找到明确声明 Windows 机器不支持 SSh 任务的文档。但是我发现了一个也使用 SSH 的任务——通过 SSH 复制文件任务。根据官方链接中的问答:
运行 Linux 以外的操作系统的目标计算机是否支持此任务?
此任务适用于运行 Linux 的目标机器。
- 要将文件复制到 macOS 计算机,可以使用此任务,但不支持使用密码进行身份验证。
- 要将文件复制到 Windows 机器,请考虑使用 Windows 机器文件复制。
而不是SSH。在输入凭据时,您应该能够在构建服务器上使用本地帐户。该帐户必须与其他域中的帐户具有相同的密码。在其他工作中,确保在构建代理上运行的构建帐户能够连接另一个域。
还要确保域之间存在信任关系。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句