【发布时间】:2014-03-07 14:27:10
【问题描述】:
我有一个 bash 脚本,其中包括尝试将文件从当前主机 (Windows/Cygwin) SCP 到远程主机 (Suse)。
当我自己在 Cygwin 中运行脚本时,该脚本运行良好。通过 SCP 传输文件,然后通过 SSH 到远程计算机以运行一些进一步的命令(与将文件部署到应用程序服务器有关)。
当脚本作为 Jenkins CI 构建的一部分由 Maven 运行时,它会失败,并显示有关密钥对被拒绝的错误。
来自 Jenkins 工作日志:
Host key verification failed.
lost connection
【问题讨论】:
-
这是因为 jenkins 进程正在以不同的 unix 用户身份运行,该用户可能没有相同的密钥存储在
~/.ssh目录中。 -
我通过 ssh -i 标志传递密钥文件,如果 maven/jenkins 用户由于某种原因无法读取该文件,则用户的事情是合理的。有没有一种方法可以让我以 Windows 用户身份启动 cygwin,并且可以在整个系统中完全访问?或者也许以某种方式让 cygwin 中的所有用户都可以使用密钥?
-
啊
cygwin抱歉不太清楚。
标签: bash maven jenkins cygwin ssh-keys