Jenkins SSH身份验证:手动信任与手动提供的密钥
Jenkins“”上的Github文档指定了几种SSH密钥验证策略,其中两种是“手动提供的密钥验证策略”和“手动受信任密钥验证策略” 手动提供的密钥验证策略如下: 检查远程主机提供的密钥是否与 配置此连接的用户 此连接所需的SSH密钥。这把钥匙应该在钥匙盒里 形成算法值,其中算法是ssh rsa或ssh dss之一,以及 值是键的基本64编码内容。钥匙应该是 放在/etc/ssh/.pub中 手动受信任密钥验证策略如下: 检查远程密钥是否与当前标记为受信任的密钥匹配 这位主持人 根据配置的不同,密钥将被自动信任 第一次连接或授权用户将被要求批准 钥匙。需要授权用户批准任何新密钥 由远程主机呈现的 需要具有计算机的用户。配置权限以授权密钥 在第一次连接到此主机时在 将允许建立连接 如果未启用此选项,则首先显示 此主机的连接将被自动信任并允许 所有后续连接无需任何手动干预 我的问题是:如果我在“手动受信任密钥验证策略”中自动信任远程(无需手动批准第一个连接),那么它与“手动提供的密钥验证策略”之间的实际区别是什么 是否在提供的策略中,公钥必须存在于orchestrator节点和代理中 那么,它与“手动提供的密钥验证策略”之间的实际区别是什么 区别在于私有SSH密钥的来源 手动提供的密钥验证策略 您可以直接在选项配置中复制密钥: 手动可信密钥验证策略 (这是我通常启用的选项) 密钥是从远程服务器获取的Jenkins SSH身份验证:手动信任与手动提供的密钥,jenkins,ssh,Jenkins,Ssh,Jenkins“”上的Github文档指定了几种SSH密钥验证策略,其中两种是“手动提供的密钥验证策略”和“手动受信任密钥验证策略” 手动提供的密钥验证策略如下: 检查远程主机提供的密钥是否与 配置此连接的用户 此连接所需的SSH密钥。这把钥匙应该在钥匙盒里 形成算法值,其中算法是ssh rsa或ssh dss之一,以及 值是键的基本64编码内容。钥匙应该是 放在/etc/ssh/.pub中 手动受信任密钥验证策略如下: 检查远程密钥是否与当前标记为受信任的密钥匹配 这位主持人 根据配置的不同,
~/.ssh/id\u rsa
那么,它与“手动提供的密钥验证策略”之间的实际区别是什么
区别在于私有SSH密钥的来源
手动提供的密钥验证策略
您可以直接在选项配置中复制密钥:
手动可信密钥验证策略
(这是我通常启用的选项)
密钥是从远程服务器获取的。ssh/id\u rsa确定吗?这是否意味着在该策略中代理也必须持有私钥?它已经在主机上(作为凭据添加)。@shibel只有在您的私钥受密码保护时才需要代理。如果我太慢了,很抱歉。因此,如果我没有启用密码短语,基本上唯一的区别是,在手动提供的策略中,私钥只是粘贴在文本框中,而在手动受信任的情况下,私钥保存为Jenkins中的凭据对象?@shibel否,在第二种情况下,密钥是在远程服务器上找到的密钥(因此需要Jenkins credential对象使用远程帐户及其密码连接到服务器,以便访问
~remoteAccount/.ssh/id\u rsa
:私钥。@shibel与第一种情况不同,在第一种情况下,您不通过在远程服务器上读取私钥,而是直接在代理设置中获取私钥,在SSH密钥字段中。是否确定?这是否意味着代理在此策略中也必须持有私钥?它已在主服务器上(作为凭据添加)@shibel代理仅在您的私钥受密码保护的情况下才需要。抱歉,我的速度太慢了。因此,如果我没有启用密码,基本上唯一的区别是,在手动提供的策略中,私钥只是粘贴在文本框中,而在手动受信任的情况下,它会保存为Jenkins中的凭据对象?@shibel否,在第二种情况下,密钥是在远程服务器上找到的密钥(因此需要Jenkins credential对象使用远程帐户及其密码连接到服务器,以便访问~remoteAccount/.ssh/id\u rsa
:私钥。@shibel与第一种情况不同,在第一种情况下,您不通过在远程服务器上读取私钥,而是直接在代理设置中获取私钥,在SSH密钥字段中。