提示:本文仅供参考,若有不足烦请指教
原理介绍
ssh协议介绍
1、安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议.简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
2、 ssh两种验证级别从客户端来看,SSH提供两种级别的安全验证。第一种级别(基于口令的安全验证) 只要你知道自己帐号和口令,就可以登录到远程主机。第二种级别(基于密匙的安全验证) 需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。
ssh基于密匙的安全验证
客户端产生一对公共密钥,将公钥保存到将要登录的服务器上的那个账号的家目录的.ssh/authorizedkeys文件中。认证阶段:客户端首先将公钥传给服务器端。服务器端收到公钥后会与本地该账号家目录下的authorizedkeys中的公钥进行对比,如果不相同,则认证失败;否则服务端生成一段随机字符串,并先后用客户端公钥和会话密钥对其加密,发送给客户端。客户端收到后将解密后的随机字符串用会话密钥发送给服务器。如果发回的字符串与服务器端之前生成的一样,则认证通过,否则,认证失败。
详细步骤
在xshell工具选项中生成windows主机密钥
这里是给主机密钥生成一个密码
将生成好的密钥保存到电脑桌面上
将密钥保存至Linux系统
将上述保存在windows的密钥复制粘贴保存至 ~/.ssh/authorizedkeys中,执行以下命令;
[root ~]# cd ~/.ssh
[root .ssh]# vim authorized_keys #进入文件后粘贴密钥即可
连接测试
输入要连接主机的ip
按照以下标记的顺序进行操作最后点击连接
免密登录成功!