jenkins 2:用ssh agent插件在pipeline里实现scp和远程执行命令

Posted aguncn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins 2:用ssh agent插件在pipeline里实现scp和远程执行命令相关的知识,希望对你有一定的参考价值。

昨晚测试成功了。

现在ssh agent的认证,已不支持明文用户密码,而只能用加密方式实现。

所以我先在jenknis和nginx服务器之后,实现ssh免密码rsa证书登陆。

私钥放jenkins,公钥放nginx。然后,将私钥拿出来,后面要写入jenkins凭据的。

有了这个操作前提之后,安装完成ssh agent,pipeline的样例里就有它的写法了。

但我又发现一个问题:

使用jenkins的生成样例代码放到pipeline里是不行的。

sshagent([70563f04-cd7a-49a9-b733-ec9622d8822a]) {
    // some block
}

但使用ssh agent帮助的样例是OK的。

node {
  sshagent (credentials: [deploy-dev]) {
    sh ssh -o StrictHostKeyChecking=no -l cloudbees 192.168.1.106 uname -a
  }
}

截个图作下说明。

技术分享图片

技术分享图片

 

以上是关于jenkins 2:用ssh agent插件在pipeline里实现scp和远程执行命令的主要内容,如果未能解决你的问题,请参考以下文章

为Windows 8上的Jenkins启用ssh-agent作为服务

jenkins添加执行机(slave_agent)的方法及应用

Jenkins 以Docker方式启动的agents

Jenkins SSH 插件/SSH 代理插件:异常:超时:未建立套接字

Jenkins-Kubernetes插件实现使用Pod作为 Agent-超详细

jenkins 配置 ssh插件