SSH登录方式主要分为两种:

1. 用户名密码验证方式

说明:

  (1) 当客户端发起ssh请求,服务器会把自己的公钥发送给用户;

  (2) 用户会根据服务器发来的公钥对密码进行加密;

  (3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功。

2. 基于密钥的登录方式

说明:

  (1) 首先在客户端生成一对密钥(ssh-keygen);

  (2) 并将客户端的公钥ssh-copy-id 拷贝到服务端;

  (3) 当客户端再次发送一个连接请求,包括ip、用户名;

  (4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:qwer;

  (5) 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端;

  (6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;

  (7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。

最新文章

  1. 显示XML文档时排序数据
  2. 【Alpha版本】冲刺-Day2
  3. Objective-C之NSArray(数组)默认排序与自定义排序
  4. ListView 完全优化 + 多种listitem布局处理
  5. 【Go语言】错误与异常处理机制
  6. php文件hash算法,秒传原理
  7. IOS基础之设置APP的名字、设置图标、添加等待加载时的图片
  8. Cocos2d-x 让精灵随手指移动起来二(简单实现)
  9. 如何引用传递String Boolean 等,并改变他们的值
  10. TCP连接的建立与关闭
  11. Java IntelliJ IDEA 不能显示项目里的文件结构解决办法
  12. Ext JS学习第十二天 Ext基础之操作dom ; get与fly 方法
  13. 工具类总结---(四)---Sharedpreferences保存
  14. Maven-06: 插件的内置绑定
  15. 阿里云api调用做简单的cmdb
  16. SharePoint 2019 离线安装准备工具
  17. linux程序员的proc文件系统
  18. 基于SpringSecurity和JWT的用户访问认证和授权
  19. JVM垃圾收集器组合--各种组合对应的虚拟机参数实践
  20. Visual Studio 2013打开项目出现“未安装项目的目标框架”提示

热门文章

  1. C#3.0新增功能09 LINQ 基础02 LINQ 查询简介
  2. [leetcode] 679. 24 Game (Hard)
  3. .NET 欢乐编程术之类型超级转换之术👍👍
  4. Integrating Thymeleaf with Spring
  5. shiro创建配置对象
  6. VisualStudio中的单元测试
  7. ubuntu 下常用的mysql 命令
  8. Find out "Who" and "Where"
  9. Kafka消息队列初识
  10. Mysql索引进阶入门