jenkins - 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
有任何想法吗?
解决方案
Jenkins ssh 插件对我不起作用。我的解决方案是
- 使用 ssh-keygen -t rsa 在源机器上生成 rsa 密钥
- 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 密钥相互信任
推荐阅读
- angular - 谷歌在 Angular 7 中使用 .NET Core API 登录
- azure-service-fabric-mesh - 获取本地集群中应用的IP
- javascript - 按关键目标选择对象映射
- javascript - jquery ui datepicker range clear value based on another selected value
- html - 在条件注释中解析 HTML 电子邮件内容(尽量避免使用正则表达式!)
- eclipse - 安装 Cobertura Eclipse 插件:“找不到 ecobertura.johoop.de/update”
- python - 为每个字典键值提供键
- javascript - textarea中的多个单独区域选择?
- android - 在 NativeScript 中推送本地通知。如何让它们全屏显示?
- java - 将 zip 文件转换为 gzip 并写入 hdfs