在我的理解中,当本地机器尝试连接到远程服务器时,使用存储在./ssh/id_rsa中的私钥,并将存储在./ssh/id_rsa.pub中的相应公钥发送到服务器。如果远程服务器在authorized_key文件中找到此公钥的匹配项,则身份验证开始。但是使用Jenkin的SSH代理插件,只有私钥通过用户名和SSH私钥凭证提供。从未以任何方式提供公钥。那么,服务器如何知道它应该使用哪个公钥来进行身份验证呢?
我的假设是,服务器将每个用户名与存储在authorized_key文件中的公钥相关联?但老实说,似乎不是这样的。
1条答案
按热度按时间kqhtkvqz1#
公钥密码系统的基本思想是公钥可以很容易地从私钥导出
https://www.ssh.com/academy/cryptography/private-and-public-keys
通过运行此命令可以轻松尝试