Jenkins不一致(每次文件都会更改)
我是詹金斯的新手,仍在努力了解它的实际工作原理 我想做的很简单。每当我将构建推送到Github repo时,我都会触发它 然后,我尝试Jenkins不一致(每次文件都会更改),jenkins,ssh,Jenkins,Ssh,我是詹金斯的新手,仍在努力了解它的实际工作原理 我想做的很简单。每当我将构建推送到Github repo时,我都会触发它 然后,我尝试ssh进入服务器 我的管道如下所示: pipeline { agent any stages { stage('SSH into the server') { steps { withCredentials([sshUserPrivateKey(
ssh
进入服务器
我的管道如下所示:
pipeline {
agent any
stages {
stage('SSH into the server') {
steps {
withCredentials([sshUserPrivateKey(
credentialsId: '<id>',
keyFileVariable: 'KEY_FILE')]) {
sh '''
cd ~/.ssh
ls
cat ${KEY_FILE} > ./deployer_key.key
eval $(ssh-agent -s)
chmod 600 ./deployer_key.key
ssh-add ./deployer_key.key
ssh root@<my-server> ps -a
ssh-agent -k
'''
}
}
}
}
}
当我ls
在.ssh
目录中时,它就拥有这些文件。
在成功案例中
成功案例
Masking supported pattern matches of $KEY_FILE
[Pipeline] {
[Pipeline] sh
+ cd /bms/home/pdsint/.ssh
+ ls
authorized_keys
known_hosts
known_hosts.old
+ cat ****
++ ssh-agent -s
+ eval 'SSH_AUTH_SOCK=/tmp/ssh-hb6yX48CJPQA/agent.51702;' export 'SSH_AUTH_SOCK;' 'SSH_AGENT_PID=51703;' export 'SSH_AGENT_PID;' echo Agent pid '51703;'
++ SSH_AUTH_SOCK=/tmp/ssh-hb6yX48CJPQA/agent.51702
++ export SSH_AUTH_SOCK
++ SSH_AGENT_PID=51703
++ export SSH_AGENT_PID
++ echo Agent pid 51703
Agent pid 51703
+ chmod 600 ./deployer_key.key
+ ssh-add ./deployer_key.key
Identity added: ./deployer_key.key (./deployer_key.key)
+ ssh root@<my-server> docker ps -a
Host key verification failed.
+ cd /bms/home/pdsint/.ssh
+ ls
authorized_keys
authorized_keys.bak <----------
known_hosts
known_hosts.old
+ cat ****
++ ssh-agent -s
+ eval 'SSH_AUTH_SOCK=/tmp/ssh-yDNVe51565/agent.51565;' export 'SSH_AUTH_SOCK;' 'SSH_AGENT_PID=51566;' export 'SSH_AGENT_PID;' echo Agent pid '51566;'
++ SSH_AUTH_SOCK=/tmp/ssh-yDNVe51565/agent.51565
++ export SSH_AUTH_SOCK
++ SSH_AGENT_PID=51566
++ export SSH_AGENT_PID
++ echo Agent pid 51566
Agent pid 51566
+ chmod 600 ./deployer_key.key
+ ssh-add ./deployer_key.key
Identity added: ./deployer_key.key (./deployer_key.key)
+ ssh root@<my-server> docker ps -a
Warning: Permanently added '<my-server>' (RSA) to the list of known hosts.
+cd/bms/home/pdsint/.ssh
+ls
授权密钥
authorized_keys.bak您的错误是关于匹配主机密钥(已知的_主机文件),而不是用户密钥(authorized_密钥)。调查您的已知\u主机文件,以检查其包含的密钥是否与服务器匹配。known\u hosts
文件在Jenkins中生成。有没有办法调查它并在可能的情况下修改它?@raspy还有,known\u主机
需要包含什么?是我试图访问的服务器的公钥吗?没错。它应该包含服务器的公钥。您收到的消息(主机密钥验证失败。
)表示已知\u主机文件中的密钥与服务器提供的密钥不匹配。您可以执行ssh-keyscan>~/.ssh/known\u主机
。