Jenkins中的SSH代理插件如何在没有公钥的情况下连接到服务器?

wgmfuz8q  于 12个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(104)

在我的理解中,当本地机器尝试连接到远程服务器时,使用存储在./ssh/id_rsa中的私钥,并将存储在./ssh/id_rsa.pub中的相应公钥发送到服务器。如果远程服务器在authorized_key文件中找到此公钥的匹配项,则身份验证开始。但是使用Jenkin的SSH代理插件,只有私钥通过用户名和SSH私钥凭证提供。从未以任何方式提供公钥。那么,服务器如何知道它应该使用哪个公钥来进行身份验证呢?
我的假设是,服务器将每个用户名与存储在authorized_key文件中的公钥相关联?但老实说,似乎不是这样的。

kqhtkvqz

kqhtkvqz1#

公钥密码系统的基本思想是公钥可以很容易地从私钥导出
https://www.ssh.com/academy/cryptography/private-and-public-keys
通过运行此命令可以轻松尝试

ssh-keygen -y

相关问题