[ SSH 两种验证方式原理 ]
2024-09-27 21:05:42
SSH登录方式主要分为两种:
1. 用户名密码验证方式
说明:
(1) 当客户端发起ssh请求,服务器会把自己的公钥发送给用户;
(2) 用户会根据服务器发来的公钥对密码进行加密;
(3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功。
2. 基于密钥的登录方式
说明:
(1) 首先在客户端生成一对密钥(ssh-keygen);
(2) 并将客户端的公钥ssh-copy-id 拷贝到服务端;
(3) 当客户端再次发送一个连接请求,包括ip、用户名;
(4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:qwer;
(5) 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端;
(6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;
(7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。
最新文章
- JS原型链
- C#进阶系列——WebApi 异常处理解决方案
- Dom编程
- checkbox
- IOS开发UI基础UITableView的属性
- 为 Virtual Box 中的 CentOS 6.6 配置本地DVD光盘做yum软件源
- 问题:如何在固定大小的DIV层插入N多个图片
- iOS runloop 资源汇总-b
- clang和gcc消除警告
- Maven构建SSM架构,并分离层次,使用Maven 组织多项目
- [转]链接分析算法之:主题敏感PageRank
- java程序在没有java环境的电脑上执行的方法(关键词jar,exe)
- Python 中的 if __name__ == '__main__' 该如何理解
- select 下拉选择自动到textarea框
- linux系统版本大全
- Process和ProcessBuilder入门【原】
- MybatisPlus使用介绍
- 766. Toeplitz Matrix
- SQL删除重复数据只保留一条数据
- Python数据模型