全站搜索 公开课 学习资料 未分类

RHCE培训课堂实验-32 开放研究实验-配置和保护SSH

系统技术 570

红帽系统管理1-学员练习册-10配置和保护SSH.pdf—P321

在本实验中,您将在您的一台服务器上为用户设置基于密钥的身份验证,禁止直接以root身份登录,并且为OpenSSH服务禁用密码所有用户的密码身份验证。

目标:

使用SSH密钥进行身份验证。

禁止用户通过ssh直接以root身份登录。

禁止用户使用基于SSH密码的身份验证登录系统。

实验准备工作:

student用户身份并使用student作为密码登录workstation

workstation上,运行lab ssh-review start命令。此脚本会创建必要的用户帐户和文件。


[student@workstation ~]$ lab ssh-review start
 

1workstation,以student用户身份打开连接serveraSSH会话。


[student@workstation ~]$ ssh student@servera
 

2 使用su命令,切换为 servera上的production1密码为redhat


[student@servera ~]$ su - production1
 

3 使用ssh-keygen命令,为servera上的production1生成无密语SSH密钥


[producttion1@servera ~]$ ssh-keygen
 

4 使用ssh-copy-id命令,将SSH密钥对的公钥发送给serverb上的production1


[production1@servera ~]$ ssh-copy-id production1@serverb
 

5 确认production1可以使用SSH密钥成功登录serverb


[producttion1@servera ~]$ ssh production1@serverb
 

6 配置serverb上的sshd,以禁止用户以root身份登录。使用redhat作为该超级用户的密码。

6.1 使用su –命令,切换为serverb上的root


[producttion1@serverb ~]$ su - 
 

6.2 将/etc/ssh/sshd_config中的no设为PermitRootLogin,再重新加载sshd。您可以使用vim /etc/ssh/sshd_config来编辑sshd的配置文件。


[root@serverb ~]# vim /etc/ssh/sshd_config
[root@serverb ~]# systemctl reload sshd.service
 

6.3 在workstation上打开另—个终端,再以production1身份打开连接serveraSSH会话。从servera,尝试以root身份登录serverb。这应该会失败,因为您在之前步骤中禁止了root用户通过SSH登录。


[student@workstation ~]$ ssh production1@servera
[production1@servera ~]$ ssh root@serverb
 

注意:

为方便起见课堂环境中的workstationservera之间已配置了免密码登录。

前面的ssh命令在尝试以root身份登录servera失败三次后返回到了提示符。默认情况下,ssh命令会优先使用SSH密钥进行身份验证,但如果找不到用户的必要密钥,它会请求用户的密码进行身份验证。

7 配置serverb上的sshd,以允许用户仅使用SSH密钥进行身份验证,而不使用其密码。

7.1 返回到第一个终端,此终端中含有serverb上活跃的root用户shell。将/etc/ssh/sshd_config中的no设为PasswordAuthentication,再重新加载sshd。您可以使用vim /etc/ssh/sshd_config来编辑sshd的配置文件。


[root@serverb ~]# vim /etc/ssh/sshd_config
[root@serverb ~]# systemctl reload sshd
 

7.2 转到第二个终端,其中含有servera上活跃的production1用户shell,再尝试以production2身份登录serverb。这应该会失败,因为没有为production2配置SSH密钥,而且serverb上的sshd服务也不允许使用密码进行身份验证。


[production1@servera ~]$ ssh production2@serverb
 

注意:

要获得更多粒度, 您可以将显式-o PubkeyAuthentication=no-o PasswordAuthentication=yes选项用于ssh命令。这允许您覆盖ssh命令的默认值,并根据之前步骤中在/etc/ssh/sshd_config中调整的设置,自信地确定前面的命令是否确实会失败。

7.3 返回到第—个终端,此终端中含有serverb上活跃的root用户shell。验证/etc/ssh/sshd_config中启用了PubkeyAuthentication。您可以使用vim /etc/ssh/sshd_config来查看sshd的配置文件。


[root@serverb ~]# vim /etc/ssh/sshd_config
 

注意:

PubkeyAuthentication行已注释掉。此文件中的任何注释行都使用默认值。注释行表示参数的默认值。默认情况下,SSH的公钥身份验证为有效状态,如注释行所示。

7.4 返回到第二个终端,其中含有servera上活跃的production1用户shell,再尝试以production1身份登录serverb。这应该会成功,因为已经配置了SSH密钥,供production1servera登录serverb


[production1@servera ~]$ ssh production1@serverb
 

7.5 从第二个终端中,退出serverbservera上的production1用户shell


[production1@serverb ~]$ exit

[production1@servera ~]$ exit
 

7.6 关闭workstation上的第二个终端。


[student@workstation ~]$ exit
 

7.7 从第一个终端中,退出serverbroot用户的shell


[root@serverb ~]# exit
 

7.8 从第一个终端中,退出serverbservera上的production1用户shell


[production1@serverb ~]$ exit

[production1@servera ~]$ exit
 

7.9 从servera注销,再返回到workstationstudent用户的shell


[student@servera ~]$ exit
 

评估

workstation上,运行lab ssh-review grade命令以确认本练习是否成功。


[student@workstation ~]$ lab ssh-review grade
 

完成

workstation上,运行lab ssh-review finish脚本来完成本实验。


[student@workstation ~]$ lab ssh-review finish
 

本实验到此结束。

扫码添加教务-杨老师微信号,备注“红帽”,可免费领取实验环境和完整的PDF技术资料。

上一篇: 下一篇:

相关推荐

展开更多
1
点击联系客服咨询!咨询电话:0756-2180090