Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Maven SCP运行的bash脚本不支持我的文件?_Bash_Maven_Jenkins_Cygwin_Ssh Keys - Fatal编程技术网

为什么Maven SCP运行的bash脚本不支持我的文件?

为什么Maven SCP运行的bash脚本不支持我的文件?,bash,maven,jenkins,cygwin,ssh-keys,Bash,Maven,Jenkins,Cygwin,Ssh Keys,我有一个bash脚本,其中包括尝试将文件从当前主机(Windows/Cygwin)SCP到远程主机(Suse) 当我自己在Cygwin中运行脚本时,脚本执行得非常完美。通过SCP传输文件,然后通过SSH将文件传输到远程计算机以运行一些进一步的命令(用于将文件部署到应用程序服务器) 当脚本作为Jenkins CI构建的一部分由Maven运行时,它会失败,并出现一个关于密钥对被拒绝的错误 从Jenkins作业日志: Host key verification failed. lost connect

我有一个bash脚本,其中包括尝试将文件从当前主机(Windows/Cygwin)SCP到远程主机(Suse)

当我自己在Cygwin中运行脚本时,脚本执行得非常完美。通过SCP传输文件,然后通过SSH将文件传输到远程计算机以运行一些进一步的命令(用于将文件部署到应用程序服务器)

当脚本作为Jenkins CI构建的一部分由Maven运行时,它会失败,并出现一个关于密钥对被拒绝的错误

从Jenkins作业日志:

Host key verification failed.
lost connection

使用StrictHostKeyChecking让作业运行一次:

scp -o 'StrictHostKeyChecking no' ...
这将记录如下内容:

Warning: Permanently added '<host>, <ipaddr>' (<keytype>) to the list of known hosts.
警告:将“,”()永久添加到已知主机列表中。

之后,删除StrictHostKeyChecking。

这是因为jenkins进程是作为不同的unix用户运行的,而不同的unix用户可能没有相同的密钥存储在
~/.ssh
目录中。我传递带有ssh-I标志的密钥文件,如果maven/jenkins用户由于某种原因无法读取该文件,那么用户的事情是合理的。有没有一种方法可以让我以windows用户的身份启动cygwin,使其能够在整个系统中拥有完全的访问权限?或者以某种方式让cygwin中的所有用户都可以使用该密钥?啊
cygwin
很抱歉,我不太清楚。sborsky-你刚刚让我的一周过得很愉快!