首页 > 解决方案 > Jenkins ssh 代理插件越来越多,没有错误,没有超时问题

问题描述

我安装了jenkins ssh 代理插件。我在 linux 服务器上创建了 ssh 私钥(使用ssh-keygen -t rsa命令)我正在尝试连接。然后在 jenkins 凭据下添加带有私钥的 SSH 用户名和所有必填字段。在 jenkinsfile 添加了简单的命令来运行 ssh:

pipeline {
   agent any
   stages {
       stage('---doingsomething---') {
            steps {
                sshagent (credentials: ['jbowner-195']) {
                    sh 'ssh -o StrictHostKeyChecking=no -l jbowner 10.10.23.195 uname -a'
                }
            }
       }

   }
}

当我按下构建按钮时,过程正在开始并且永无止境。没有错误,没有超时问题。这是詹金斯堆叠的输出

[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { (---echoing---)
[Pipeline] sshagent
[ssh-agent] Using credentials jbowner (jbowner 10.10.23.195)
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent]   Exec ssh-agent (binary ssh-agent on a remote machine)
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-XSQPEUHOqZQR/agent.10226
SSH_AGENT_PID=10229
Running ssh-add (command line suppressed)
Identity added: /home/jenkins/.jenkins/workspace/Eformgenerator-Prod@tmp/private_key_5151715321960722060.key (/home/jenkins/.jenkins/workspace/Eformgenerator-Prod@tmp/private_key_5151715321960722060.key)
[ssh-agent] Started.
[Pipeline] {
[Pipeline] sh
+ ssh -o StrictHostKeyChecking=no -l jbowner 10.10.23.195 uname -a

有任何想法吗?

标签: jenkinsssh-agent

解决方案


Jenkins ssh 插件对我不起作用。我的解决方案是

  1. 使用 ssh-keygen -t rsa 在源机器上生成 rsa 密钥
  2. ssh-copy-id 用户名@destination_ip。然后输入目的地密码。这将添加作为已知主机的目标 ip,并将目标计算机上的源密钥添加为授权密钥。

然后我没有使用 jenkins ssh 代理,而是使用了像这样的标准 ssh 命令。

pipeline {
   agent any
   stages {
       stage('---echoing---') {
            steps {
                sh 'ssh -o StrictHostKeyChecking=no jbowner@10.10.23.195 uptime'
            }
       }

   }
}

这是有效的,因为服务器一直使用 ssh 密钥相互信任


推荐阅读