Windows11免密登录centos终端

`在windows11终端登录Centos终端时候,每次都需要使用密码,登录多个终端时会比较麻烦`

### 1.生成一对公钥和私钥
在windows11中使用命令可以生成一对公钥和私钥
按win+R使用cmd或者powershell使用如下命令

```powershell
ssh-keygen [-t 加密方式]
# [-t 为加密方式] 为选填内容,仅仅写ssh-keygen为默认rsa加密
```
在后续操作可以不需要输入任何内容,按回车键直到出现下面矩形的内容生成结束!
密钥会存在:C:/Users/用户名/.ssh/下的两个文件中
![在这里插入图片描述](https://img-blog.csdnimg.cn/76c6f354675b40d0bba01554e5b2e51b.png)
### 2.创建文件和目录
直接使用Linux的终端或者使用windows终端登录Linux终端后创建/root/.ssh/authorized_keys文件
其中.ssh目录和authorized_keys文件都是不存在的,需要手动创建
`在windows终端登录并将公钥发送到Linux服务器并写入/root/.ssh/authorized_keys中`

```powershell
scp .ssh/id_rsa.pub root@Linux终端ip:/root/.ssh/authorized_keys
```
发送之后也是要输入Linux的root的密码的


![在这里插入图片描述](https://img-blog.csdnimg.cn/872f65d194904a9f852da50fdfa7bd36.png)
之后再登录的时候就不要输入密码了
![在这里插入图片描述](https://img-blog.csdnimg.cn/7b139ada971b4751a63aaf7471f8f303.png)

### 3.知识点补充:免密登录原理
###### 1.客户端会生成公钥和私钥,需要将公钥发送给Linux服务器,并保存在服务器中
###### 2.在客户端登录时候,Linux服务器会根据客户的登录信息找到服务器中存储的公钥,此时随机生成一个值R,使用公钥加密发送给客户端
###### 3.客户端用自己的私钥解开了Linux服务器用客户端公钥加密的随机数,并使用R和会话key进行加密计算得到摘要发送给Linux服务器
###### 4.Linux也以同样的方式或取到摘要,并对比客户端发送来的摘要是否相同,相同就可以登陆上去
![在这里插入图片描述](https://img-blog.csdnimg.cn/f963f127bd604409985bb67543c1ad64.png)

posted @ 2023-11-28 16:55  法外狂徒张三!  阅读(78)  评论(0)    收藏  举报