jenkins - Jenkins 通过 ssh 发布显示错误“jenkins.plugins.publish_over.BapPublisherException:无法添加 SSH 密钥。”
问题描述
为了使用 ssh 将 jenkins 与远程服务器连接,我在 jenkins 中安装了 publish over SSH 插件。但配置后它显示错误 jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key。消息[无效的私钥:[B@7934add]
最初,我在服务器中以 jenkins 用户身份登录为“sudo su jenkins”在此之后,我输入“ssh-keygen”并给出密码短语值并给出 jenkins 配置中的密钥路径。
我的密码是我在创建 ssh-keygen 时给出的值
我的密码短语/密码与我在创建 ssh-keygen 时给出的值相同。我对这一点不正确
但是当我单击测试配置按钮时我的所有配置都显示“
Failed to connect or change directory
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@3085b39b]"
解决方案
key 的路径应该是private key的路径id_rsa
。
不是公共的id_rsa.pub
(这确实是无效的......私钥)
创建 SSH 密钥对已生成:
/var/lib/jenkins/.ssh/id_rsa
(私钥)/var/lib/jenkins/.ssh/id_rsa.pub
(公钥)
使用旧的 PEM 格式(不是新的 OpenSSH 格式)
ssh-keygen -t rsa -C "jenkins" -m PEM -P "" -f /var/lib/jenkins/.ssh/id_rsa
要打开 SSH 会话,需要将公钥复制到远程服务器,在/home/ubuntu/.ssh/authorized_keys
.
如果您有远程 ubuntu 用户密码,则可以使用ssh-copy-id 命令,如下所示:
ssh-copy-id -i /var/lib/jenkins/.ssh/id_rsa ubuntu@remoteserverip
然后你可以测试,如sudo su jenkins
,与ssh -Tv ubuntu@remoteserverip
推荐阅读
- objective-c - 如何在 LZip 的 NSTask 参数中传递源和目标路径?
- php - 如何在 php 中调用表 AVG()
- python - 监控文件夹中添加的 .jpg,使用 CUPS 自动打印,将相同的 .jpg 移动到另一个文件夹
- javascript - 为什么我的幻灯片在我的 React 应用程序中不起作用?
- javascript - React Redux:与示例 A 代码完美配合,但在示例 B 代码中返回调度错误
- python - 地图地形分析:numpy.roll 函数的替代方案?
- php - 在 laravel 中更改时区
- microsoft-cognitive - 认知服务语音 SDK 是否在非 ubuntu linux 中工作?如果是这样,所需的依赖项是什么?
- nix - 安装后找不到 nix-env 和 nix-build (debian buster)
- java - 如何在 CSS 或组件更改很少的情况下为不同的客户端维护相同的代码?