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

RHCE培训课堂实验-31 指导练习-自定义OPENSSH服务配置

系统技术 99

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

在本练习中,您将在您的一台服务器上禁止直接以root身份登录,并且为Open SSH服务禁用基于密码的身份验证。

目标:

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

禁止远程用户通过基于密码的身份验证进行SSH连接。

练习准备工作:

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

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


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

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


[student@workstation ~]$ ssh student@serverb
 

2 使用su命令,切换为serverb上的operator2。使用redhat作为operator2的密码。


[student@serverb ~]$ su - operator2
 

3 使用ssh-keygen命令来生成SSH密钥。不要为密钥输入任何密语。


[operator2@serverb ~]$ ssh-keygen
 

4 使用ssh-copy-id命令,将SSH密钥对的公钥发送给servera上的operator2。在servera上,使用redhat作为operator2的密码。


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

5 确认您可以使用SSH密钥以operator2身份成功登录servera

5.1 以operator2身份,打开连接到serveraSSH会话。


[operator2@serverb ~]$ ssh operator2@servera
 

注意:

前面的ssh命令使用SSH密钥进行身份验证。

5.2 从servera注销。


[operator2@servera ~]$ exit
 

6 确认您可以使用密码redhatroot身份成功登录servera

6.1 使用redhat作为密码,以root身份打开连接到serveraSSH会话。


[operator2@serverb ~]$ ssh root@servera
 

注意:

前面的ssh命令使用超级用户的密码进行身份验证,因为不存在针对该超级用户的SSH密钥。

6.2 从servera注销。


[root@servera ~]# exit
 

7 确认您可以使用密码redhatoperator3身份成功登录servera

7.1 使用 redhat 作为密码,以 operator3 身份打开连接到 serveraSSH 会话。


[operator2@serverb ~]$ ssh operator3@servera
 

注意:

前面的ssh命令使用了operator3的密码进行身份验证,因为不存在针对operator3SSH密钥。

7.2 从servera注销。


[operator3@serverb ~]$ exit
 

8 配置servera上的sshd,以禁止用户以root身份登录。必要时,使用redhat作为该超级用户的密码。

8.1 使用SSH密钥,以operator2身份打开连接到serveraSSH会话。


[operator2@serverb ~]$ ssh operator2@servera
 

8.2 在servera上,切换到root。使用redhat作为root用户的密码。


[operator2@servera ~]$ su -
 

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


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

注意:

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

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


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

注意:

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

默认情况下,ssh命令会先尝试使用基于密钥的身份验证,如果尝试失败,再使用基于密码的身份验证。

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

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


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

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


[operator2@serverb ~]$ ssh operator3@servera
 

注意:

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

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


[root@servera ~]$ vim /etc/ssh/sshd_config
 

注意:

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

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


[operator2@serverb ~]$ ssh operator2@servera
 

9.5 从第二个终端中,退出serveraserverb上的operator2用户shell


[operator2@servera ~]$ exit
[operator2@serverb ~]$ exit
 

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


[student@workstation ~]$ exit
 

9.7 从第一个终端中,退出serveraroot用户的shell


[root@servera ~]# exit
 

9.8 从第一个终端中,退出serveraserverb上的operator2用户shell


[operator2@servera ~]$ exit

[operator2@serverb ~]$ exit
 

9.9 从serverb注销,再返回到workstationstudent用户的shell


[student@serverb ~]$ exit
 

完成

workstation上,运行lab ssh-customize finish来完成本练习。


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

本引导式练习到此结束。

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

上一篇: 下一篇:

相关推荐

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