【发布时间】:2018-07-13 13:10:48
【问题描述】:
我正在尝试在 Jenkins (v2.103) 的 Windows 安装上配置 SSH 代理插件 (v1.15),以便能够通过 ssh 向远程计算机发出命令。
我已经安装了插件,并在 Jenkins Credentials(如下所示)中添加了一个条目,其中包含可以登录到远程计算机的私钥和密码(主机名:corp-wfdemo)。我已确认此密钥可用于验证运行 Jenkins 的用户。
我创建了一个 Pipeline 项目并添加了这个 Groovy 脚本来测试 ssh:
node ('ssh') {
stage ('test') {
sshagent(['corp-wfdemo']) {
sh 'ls -la'
}
}
}
Jenkins master 的标签为ssh。这是安装了 Git Bash (MINGW64) 的 Windows Server 2012 机器。
当我尝试运行此作业时,尝试查找一些自动生成的 askpass.sh 脚本时会失败。这是输出:
有人可以帮忙吗?提前致谢!
此外,每次我尝试运行此作业时,都会生成一个 ssh-agent 的新实例,但不会终止,留下这个烂摊子:
【问题讨论】:
-
1) 尝试从命令提示符手动运行命令一次,以清除身份验证点的错误。 2)在执行 ssh-ask 命令时,它是从临时路径不可用的 windows 文件夹执行的。
标签: windows jenkins sh jenkins-pipeline ssh-agent