您的位置:首页 > 理论基础 > 计算机网络

SSH协议的理解

2016-11-17 09:21 316 查看

一、概念

1.ssh是securety shell(安全外壳协议)的缩写,是一种网络协议,作用是用于计算机之间的加密登录。
2.ssh的默认端口是22,当然也可以指定端口登录 ssh -p 8888
a@host

二、口令认证过程

3.ssh的口令认证过程:
3.1远程主机收到登录请求,把公钥发给用户
3.2用户收到这个公钥之后,把登陆密码加密,发送给远程主机
3.2.1 ps:使用公钥加密过的数据只有用与之相对应的私钥才能解密
3.3 远程主机使用自己的私钥解密,如果密码正确就允许登录。

四、所谓的 man in the middle attack (中间人攻击)

采用密码认证时:
如果中间者截获到了 登录的密码,再使用这个密码来登录远程主机。
那ssh如何解决这个问题呢

五、公钥登录

为了避免需要每次输入密码。ssh提供了公钥登录。
用户使用工具,例如 secureCRT来生成一对 公钥和私钥,其中,私钥由用户自行保管,把生成的公钥添加至远程主机的主机上,用户登录时,勾选使用公钥登录,连接时,远程主机就会向用户发送一段随机的字符串,用户使用自己的【私钥】加密后,远程主机使用 公钥解密。如果解密成功,则证明用户是可信的,允许其登录。
ps: 如果担心私钥的安全性,也可以设置一个私钥的口令,passphrase,其实就是一个密码password,相当于双重认证,所以passphrase和私钥一定要妥善保管,登录时,服务器的公钥会被客户端存储到一个host文件中。
服务器传送公钥给客户端: 接收到客户端的要求后,服务器便将第一个步骤取得的公钥传送给客户端使用 (此时应是明码传送,反正公钥本来就是给大家使用的)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息