我目前正在学习Jenkins,我对sshagent有一个问题。我无法连接到我的远程计算机。首先,我试图使用Jenkins部署到kubernetes,我使用SSH代理进入kubernetes-master,所以我可以从它运行命令。所以问题是我在kubernetes-master中生成了一个SSH密钥,并将私钥添加到Jenkins中,但它不起作用。这里有什么帮助吗在这里,您可以看到管道
中的部署阶段和执行作业时的输出控制台Jenkins输出控制台
stage('deploy to K8s cluster '){
steps{
sshagent(['Jenkins-Access-Kube']) {
sh"scp -r -o StrictHostKeyChecking=no /home/automate-deployment-on-k8s/complete-demo.yaml younes@192.168.8.199:/home/younes/k8s"
script{
try{
sh 'ssh younes@192.168.8.199 kubectl apply -f . '
}catch(error){
sh 'ssh younes@192.168.8.199 kubectl create -f . '
}
}
}
设置700为.ssh, 600为authorized_keys解决了这个问题。
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys