Windows11免密登录centos终端
`在windows11终端登录Centos终端时候,每次都需要使用密码,登录多个终端时会比较麻烦`
### 1.生成一对公钥和私钥
在windows11中使用命令可以生成一对公钥和私钥
按win+R使用cmd或者powershell使用如下命令
```powershell
ssh-keygen [-t 加密方式]
# [-t 为加密方式] 为选填内容,仅仅写ssh-keygen为默认rsa加密
```
在后续操作可以不需要输入任何内容,按回车键直到出现下面矩形的内容生成结束!
密钥会存在:C:/Users/用户名/.ssh/下的两个文件中

### 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的密码的

之后再登录的时候就不要输入密码了

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


浙公网安备 33010602011771号