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

RHCE培训课堂实验-30 指导练习-配置基于SSH 密钥的身份验证

系统技术 596

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

在本练习中,您要对用户进行配置,以便其将基于密钥的身份验证用于SSH

目标:

生成无密语保护的SSH密钥对。

生成受密语保护的SSH密钥对。

使用无密钥保护和受密语保护的SSH密钥进行身份验证。

练习准备工作:

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

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


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

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


[student@workstation ~]$ ssh student@serverb
 

2 使用su,切换为serverb上的operator1用户。使用redhat作为operator1的密码。


[student@serverb ~]$ su - operator1
 

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


[operator1@serverb ~]$ ssh-keygen
 

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


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

5servera上,使用SSH远程执行hostname命令,而不访问远程交互式shell


[operator1@serverb ~]$ ssh operator1@servera hostname
 

6 使用ssh-keygen命令,生成另一组具有密语保护的SSH密钥。将密钥保存为/home/operator1/.ssh/key2。使用redhatpass作为私钥的密语。


[operator1@serverb ~]$ ssh-keygen -f .ssh/key2
 

7 使用ssh-copy-id命令,将受密语保护的密钥对的公钥发送给servera上的operator1


[operator1@serverb ~]$ ssh-copy-id -i .ssh/key2.pub operator1@servera
 

注意:

注意前面的ssh-copy-id命令没有提示您输入密码,因为它使用了您在之前步骤中导出到servera的无密语保护私钥的公钥。

8 servera上,通过SSH远程执行hostname命令,而不访问远程交互式shell。使用/home/operator1/.ssh/key2作为身份文件。指定redhatpass作为密语,您在之前步骤中为私钥设置了该密语。


[operator1@serverb ~]$ ssh -i .ssh/key2 operator1@servera hostname
 

注意:

前面的ssh命令提示您输入用于保护SSH密钥对的私钥的密语。该密语保护私钥。如果攻击者获得私钥的访问权限,攻击者无法使用它访问其他系统,因为私钥本身受到了密语的保护。ssh命令使用了不同于servera上的operator1的密语,要求用户同时知道这两者。

您可以在下—步中使用ssh-agent,以避免在使用SSH登录时以交互方式键入密语。在管理员经常登录远程系统的情形中,使用ssh-agent不仅更加方便,也更为安全。

9 在您的Bash shell中运行ssh-agent,并将SSH密钥对的受密语保护的私钥(/home/operator1/.ssh/key2)添加到shell会话。


[operator1@serverb ~]$ eval $(ssh-agent)

[operator1@serverb ~]$ ssh-add .ssh/key2
 

注意:

前面的eval命令启动了ssh-agent并将此shell会话配置为使用此私钥。随后,您使用ssh-add将解锁的私钥提供给ssh-agent

10servera上,远程执行hostname命令,而不访问远程交互式shell。使用/home/operator1/.ssh/key2作为身份文件。


[operator1@serverb ~]$ ssh -i .ssh/key2 operator1@servera hostname
 

注意:

前面的ssh命令没有提示您以交互方式输入密语。

11workstation上打开另一个终端,再以student用户身份打开连接 serverbSSH会话。


[student@workstation ~]$ ssh student@serverb
 

12serverb上,使用su命令切换到operator1,再调用连接到serveraSSH连接。使用/home/operator1/.ssh/key2作为身份文件,以利用SSH密钥进行身份验证。(在步骤11中新建的终端中执行)

12.1 使用su命令,切换到operator1。使用redhat作为operator1的密码。


[student@serverb ~]$ su - operator1
 

12.2 以operator1身份,打开连接到serveraSSH会话。


[operator1@serverb ~]$ ssh -i .ssh/key2 operator1@servera
 

注意:

前面的ssh命令提示您以交互方式输入密语,因为您没有从用于启动ssh-agentshell调用SSH连接。

13 退出第二个终端中正在使用的所有shell

13.1 从servera注销。


[operator1@servera ~]$ exit
 

13.2 退出serverb上的operator1student shell,以返回到workstation上的student用户的shell


[operator1@serverb ~]$ exit
[student@serverb ~]$ exit
 

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


[student@workstation ~]$ exit
 

14 在第一个终端上,从serverb注销并结束本练习。

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


[operator1@serverb ~]$ exit
 

注意:

exit命令使您退出operator1用户的shell,从而终止ssh-agent处于活动状态的shell会话,并返回到serverbstudent用户的shell

14.2 退出serverbstudent用户的shell,以返回到workstationstudent用户的shell


[student@serverb ~]$ exit
 

完成

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


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

本引导式练习到此结束。

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

上一篇: 下一篇:

相关推荐

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