美文网首页
解决jenkins报invalid privatekey: [B

解决jenkins报invalid privatekey: [B

作者: liurongming | 来源:发表于2023-03-14 15:27 被阅读0次

重新生成密钥对,并且加上-m PEM参数,即可解决。这是因为jenkins新版本的要求。

# 生成密钥对
ssh-keygen -t rsa -m PEM -b 4096 -v -f ops_root_key
# 执行结果如下
root@vbs4-ubt2004-prod-jenkins:/opt/chores/ssh_keys# pwd
/opt/chores/ssh_keys
root@vbs4-ubt2004-prod-jenkins:/opt/chores/ssh_keys#

再次制作免登录,因为已经加过了,所以加上-f参数,再次强制添加。

# 制作
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@mqtt-0
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@nginx-0
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@gateway-1
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@gateway-2
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@base-1
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@base-2
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@report-1
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@report-2
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@travel-1
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@travel-2
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@device-1
ssh-copy-id -f -i /opt/chores/ssh_keys/ops_root_key.pub -p 22 root@device-2

然后,再依次进行登录测试,当然也可以写shell批量执行,期间要求输入密码。

# 登录
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@mqtt-0
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@nginx-0
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@gateway-1
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@gateway-2
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@base-1
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@base-2
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@report-1
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@report-2
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@travel-1
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@travel-2
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@device-1
ssh -p '22' -i /opt/chores/ssh_keys/ops_root_key root@device-2

测试OK以后,再回到jenkins的系统设置界面,设置Publish over SSH。
选择路径:Dashboard》系统管理》Configure System 拖动到看到Publish over SSH
把私钥内容复制出来,拷贝到路径里面,也可以直接填写私钥路径(前提是jenkins有相关目录的访问权限)。


image.png

PS:提前建立目录:/data/online/upload

mkdir -p /data/online/upload

并且设置hosts映射

root@vbs4-ubt2004-prod-jenkins:/opt/chores/ssh_keys# cat /etc/hosts
127.0.0.1 localhost
10.10.20.25 mqtt-0
10.10.10.4  nginx-0
10.10.20.9  gateway-1
10.10.20.10 gateway-2
10.10.20.11 base-1
10.10.20.12 base-2
10.10.20.13 report-1
10.10.20.14 report-2
10.10.20.15 travel-1
10.10.20.16 travel-2
10.10.20.17 device-1
10.10.20.18 device-2

测试,即可成功。


image.png

相关文章

网友评论

      本文标题:解决jenkins报invalid privatekey: [B

      本文链接:https://www.haomeiwen.com/subject/fyckrdtx.html