xshell使用publickey认证,ssh使用publickey认证到底是怎么回事
参考http://jingyan.baidu.com/article/e5c39bf5ba78e639d760330e.html参考http://www.linuxidc.com/Linux/2015-03/114947.htm
参考http://jingyan.baidu.com/article/e5c39bf5ba78e639d760330e.html
参考http://www.linuxidc.com/Linux/2015-03/114947.htm
publickey认证过程是这样的:
publickey 认证:采用数字签名的方法来认证客户端。目前,设备上可以利用RSA和 DSA两种公共密钥算法实现数字签名。客户端发送包含用户名、公共密钥和公共密钥算法的 publickey 认证请求给服务器端。服务器对公钥进行合法性(就是比较两个publickey是否一样)检查,如果不合法,则直接发送失败消息;否则,服务器利用数字签名对客户端进行认证,并返回认证成功或失败的消息。
注:用户名、公共密钥和公共密钥算法这些数据都是用服务器的Pubkey加密的,Pubkey是在首次建立连接时服务器发给客户端的。服务器接到加密数据之后用自己的私钥解密,然后比较publickey,相同即合法,不同即不合法。
数字签名就是用hash算法取摘要。
known-hosts: 这个是存在客户端的一个可信server的public key列表。在Xshell首次与服务器建立连接时,就把服务器的公钥存在了known-hosts中,下次在连接该服务器时,会对比服务器的公钥,已验证是否是以前的服务器。
Xshell与服务器之间进行publickey的认证过程如下:
1、Xshell生成publickey;
2、将publickey拷贝到server端的指定目录下;
3、在连接过程中,客户端将publickey和其他信息加密后发送给服务器,服务器进行认证。
更多推荐
所有评论(0)