为什么Maven SCP运行的bash脚本不支持我的文件?
我有一个bash脚本,其中包括尝试将文件从当前主机(Windows/Cygwin)SCP到远程主机(Suse) 当我自己在Cygwin中运行脚本时,脚本执行得非常完美。通过SCP传输文件,然后通过SSH将文件传输到远程计算机以运行一些进一步的命令(用于将文件部署到应用程序服务器) 当脚本作为Jenkins CI构建的一部分由Maven运行时,它会失败,并出现一个关于密钥对被拒绝的错误 从Jenkins作业日志:为什么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
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-你刚刚让我的一周过得很愉快!