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文件中。
服务器传送公钥给客户端: 接收到客户端的要求后,服务器便将第一个步骤取得的公钥传送给客户端使用 (此时应是明码传送,反正公钥本来就是给大家使用的)
相关文章推荐
- ssh协议和telnet协议 理解 小结
- Linux网络管理之SSH协议原理理解
- 理解并取证:SSH远程管理协议的工作原理
- 【学习笔记】Python网络编程(四)完善socket模拟ssh协议
- 理解MySql事务隔离机制、锁以及各种锁协议
- 简单理解SSH登录
- Bluetooth设备通信协议理解
- 深入理解OAuth2.0协议
- 如何理解HTTP协议的 “无连接,无状态” 特点?
- 关于tcp协议可靠性的个人理解
- ssh命令、ping命令、traceroute 命令所使用的协议
- 理解Objective-C Runtime (五)协议与分类
- 我的mqtt协议和emqttd开源项目个人理解(7) - Qos==2是如何保证消息只收到一次的
- git 无法使用ssh协议连接
- ssh 不理解
- 学点Linux小知识:SSH协议
- 深入理解OAuth2.0协议
- 【概念】协议理解之HTTPS
- JavaMail学习(一)理解邮件传输协议