美文网首页
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