原理: SSH登录除了传统的密码登录,可以使用密钥文件登录,结合PAM模块,也可以实现双因子登录
服务器ip: 192.168.31.133

一、配置服务器SSH密钥登录

以下操作使用服务器进行

1、编辑SSH配置文件

vim /etc/ssh/sshd_config

在这里插入图片描述

2、删除#号

删除PubkeyAuthentication yes此行前面的#号 (此行表示,允许密钥登录)
在这里插入图片描述(按 “i” 进入插入模式,然后删除#号,按“ESC”退出然后点击 “:wq”保存并退出)

保存文件并退出

3、重启ssh服务

systemctl restart sshd

在这里插入图片描述

二、使用客户端生成密钥

以下操作使用客户端进行

1、生成SSH登录的密钥对

ssh-keygen -t rsa

在这里插入图片描述

2、查看生成的密钥

ls -l /root/.ssh/

确保以下两个文件是新生成的。
在这里插入图片描述

三、上传客户端公钥证书到服务器

以下操作使用客户端进行

1、使sftp连接服务器

sftp root@192.168.31.133

输入yes

输入服务器密码在这里插入图片描述

2、上传公钥文件

put /root/.ssh/id_rsa.pub
在这里插入图片描述

3、退出sftp客户端

exit

在这里插入图片描述

四、配置服务器公钥

以下操作使用服务器进行

通过第三步,我们已经将公钥证书放到了/root/id_rsa.pub

这里我们将公钥文件输出到服务器配置文件中

cat /root/id_rsa.pub >> ~/.ssh/authorized_keys

在这里插入图片描述

五、验证密钥登录

以下操作使用客户端登录

1、指定私钥文件登录

ssh -i /root/.ssh/id_rsa root@192.168.31.133

在这里插入图片描述

此时我们可以看到直接登录进了服务器,并没有输入密码。因为我们使用了证书验证

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐