任务情境描述
某公司管理员已经将自己个人电脑免密登录到远程服务器。
服务器地址为192.168.1.10/24
管理员PC地址为192.168.1.20/24
管理员ID为admin,密码为password
为了让SSH更安全,需要修改SSH的端口为61234,并限制服务器只能由管理员PC通过admin用户登录。
第一步:创建admin用户
使用useradd admin 命令创建admin用户
使用passwd admin 命令为admin用户设置密码
第二步:修改SSH默认端口
输入命令:vim /etc/ssh/sshd_config 进入sshd_config文件修改端口为61234。然后保存退出,重启ssh服务。
重启ssh服务的命令:systemctl restart sshd
第三步:防火墙中开启61234端口
第四步:selinux设置
修改完成,重启SSH服务
第五步:客户端测试
在客户端登录SSH服务:使用原默认端口登录失败,使用61234端口登录成功
第六步:生成密钥,传密钥,实现免密登录
第七步:修改配置文件
输入命令:vim /etc/ssh/sshd_config 进入sshd_config文件修改以下两个参数
PermitRootLogin no #禁止root用户SSH远程登录
PasswordAuthentication no #禁止用户输入密码登录(禁止用户用口令登录)
然后保存退出,重启ssh服务。
第八步:测试
在客户端用服务器端的root用户和其他用户远程登录失败,admin用户免密登录成功。
附加
SSH远程登录的流程:
- 双方协商SSH协议版本;
- 远程主机收到用户的登录请求,生成公钥并将其发送给客户端;
- 客户端主机收到该公钥,讲登录密码加密后,发送给远程主机;
- 远程主机用私钥解密登录密码,如果密码正确,就同意用户登录。