SSH公钥登录原理
通常我们使用Xshell登录ssh时,有两种方式:
一、密码口令(类似于账号密码登录)
1.客户端连接上服务器,服务器把公钥发给客户端。
2.客户端用服务器公钥加密,上传密码。
3.服务器用私钥解密,如果匹配,则连接。
二、密钥登录
一般使用RSA公钥私钥技术。
1.生成密钥对。
2.将公钥信息写入目标用户的密钥验证文件。
3.客户端请求登录。
4.服务器发送一段随机字符串,并使用公钥加密。
5.客户端使用私钥解密,并返回解密后的信息。
6.服务器进行信息对比,如果验证成功,则允许连接。
这就可以解释为什么我用Xshell软件,只有一个私钥文件,却可以登录两台云端服务器的问题
答:(个人理解,有可能是错误的)那两台云端服务器都事先写入公钥信息,该公钥和我的私钥是一个密钥对,因此,理论上只要有N台主机都事先写入我的公钥信息,我就可以连接N台主机。
补充:通常来说,公钥有拓展名,私钥没有拓展名,下图为私钥。公钥应该传到服务器上。