美文网首页
Jenkins证书管理(SSH证书)

Jenkins证书管理(SSH证书)

作者: 养猫的老鼠 | 来源:发表于2019-09-29 16:39 被阅读0次

背景:

需要为Jenkins添加Slave Node,为了便于安全,计划使用SSH证书登录Slave Node

步骤:

在Slave Node生成秘钥ssh-keygen -t rsa,为了增加安全性,最好设置passphrase. (这里默认存放在~/.ssh/id_rsa)
将Slave Node生成的公钥添加到Slave Node的authorized列表中cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将Slave Node生成的私钥添加到Jenkins Credentials页面,参见下图

Jenkins Credentials
在Jenkins Nodes管理页面添加Node,Host Key Verification Strategy中选择Non Verifying Verification Strategy
如此,就可以通过SSH证书登录Slave Node了。

重点:

由于Jenkins无法访问私钥,因此我们需要在Jenkins页面上添加私钥,也就是说,在添加Slave Node这个过程中,Master Node是作为SSH Client存在的,而Slave Node是作为SSH Server,这也是为什么要在Slave Node上将公钥添加到Authorized列表中。

遗留问题:

理想状态下,在Host Key Verification Strategy中应该选择Knows Hosts作为验证方案,不知道是不是我把Jenkins安装在了Docker里的原因,手动更新Knows Hosts文件后依然报错。暂时记录在这,后面找机会和资源验证更新吧。

参考目录:

How to Connect to Remote SSH Agents?
Host Key Verification for SSH Agents

相关文章

网友评论

      本文标题:Jenkins证书管理(SSH证书)

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