原理: 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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐