密码学之使用密钥登录SSH服务器

实验目的:掌握SSH密钥登录的配置与应用

实验环境:

两台centos服务器

一台作为SSH服务器
一台作为SSH客户端,使用密钥连接SSH服务器

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

实验步骤:

配置服务器SSH密钥登录

以下操作使用服务器进行

1、编辑SSH配置文件

vim /etc/ssh/sshd_config

密码学之使用密钥登录SSH服务器_第1张图片

2、删除#

删除PubkeyAuthentication yes此行前面的#

此行表示,允许密钥登陆

 密码学之使用密钥登录SSH服务器_第2张图片

 保存并退出

密码学之使用密钥登录SSH服务器_第3张图片

重启ssh服务

systemctl restart sshd

二、使用客户端生成密钥

以下操作使用客户端进行

1、生成SSH登录的密钥对

ssh-keygen -t rsa

 密码学之使用密钥登录SSH服务器_第4张图片

查看生成的密钥

ls -l /root/.ssh/

确保以下两个文件是新生成的。

密码学之使用密钥登录SSH服务器_第5张图片

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

以下操作使用客户端进行

1、使sftp连接服务器

sftp [email protected]

输入yes

输入服务器密码

密码学之使用密钥登录SSH服务器_第6张图片

2、上传公钥文件

put /root/.ssh/id_rsa.pub

密码学之使用密钥登录SSH服务器_第7张图片

3、退出sftp客户端

exit

密码学之使用密钥登录SSH服务器_第8张图片

四、配置服务器公钥

以下操作使用服务器进行

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

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

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

密码学之使用密钥登录SSH服务器_第9张图片

五、验证密钥登录

以下操作使用客户端登录

1、指定私钥文件登录

ssh -i /root/.ssh/id_rsa  [email protected]

密码学之使用密钥登录SSH服务器_第10张图片

 

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

总结

在使用私钥证书登录时,我们也可以给私钥证书加上密码,此时不是验证服务器的密码,而是验证私钥证书的加密密码。

同理在Windows下,也可以使用ssh工具,如xshell实现ssh的密钥登录,有兴趣同学可以自己尝试。

 

你可能感兴趣的:(其他,安全)