1.实验环境
两台单网卡的主机
一台为服务器,主机名为westos_system,ip地址为192.168.2.100
一台为客户端,主机名为westos_client,ip地址为192.168.2.200
下图所示为服务器主机
下图所示为客户端主机
2.ssh命令
ssh -l root 192.168.2.100 //登录服务器
出现以下界面表示成功登录服务器
ssh -Xl root 192.168.2.100 //开启图形登录服务器
ssh -Xl root 192.168.2.100 gedit //开启图形登录服务器并启动gedit
ssh -Xfl root 192.168.2.100 gedit //开启图形登录服务器并后台启动gedit
man ssh //查询参数
ssh -l root 192.168.2.100 -o StrictHostKeyChecking=no //参数登录(无需验证)
ssh -l root 192.168.2.100 -t ssh -l root 192.168.2.100 //跳台登录
登录之后,在服务器端查看登录的ip
3.sshd key 密钥认证
ssh-keygen //生成密钥
注:密钥文件默认存储位置 /root/.ssh/
ssh -l root 192.168.2.100
发现需要密码进行登录,执行以下命令
mv /root/.ssh/id_rsa* /mnt/ //移走密钥
ls /root/.ssh/
运行结果如下:
然后执行以下命令
ssh-copy-id -i /mnt/id_rsa.pub root@192.168.2.100 //绑定密钥给服务器
运行结果如下:
然后在客户端执行以下命令
ssh -l root 192.168.2.100 -i /mnt/id_rsa //指定目录读取密钥
运行结果如下:
无密码直接登录
4.ssh远程登录的安全优化
(1)不同接口登录
执行以下命令
setenforce 0
vim /etc/ssh/sshd_config //修改接口2222
修改内容如下图所示:
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
systemctl restart sshd
systemctl status sshd //查看状态
运行结果如下图所示:
在客户端进行登录验证
ssh -l root 192.168.2.100 //登录失败
ssh -l root 192.168.2.100 -p 2222 //登录成功
(2)超级用户登录设定
vim /etc/ssh/sshd_config //改回接口,设定超级用户不可登录
修改内容如下图所示:
执行以下命令
systemctl restart sshd
结果如下:
在客户端进行登录验证
ssh -l root 192.168.2.100 //登录失败
ssh -l westos192.168.2.100 //登录成功
(3)用户白名单设定
vim /etc/ssh/sshd_config //改回超级用户可以登录,添加用户白名单
编辑内容如下图所示:
systemctl restart sshd
在客户端进行登录验证
ssh -l root 192.168.2.100 //登录失败
sh -l westos 192.168.2.100 //登录成功
(4)用户黑名单设定
vim /etc/ssh/sshd_config //删除用户白名单,添加用户黑名单
编辑内容如下图所示:
systemctl restart sshd
在客户端进行登录验证
ssh -l root 192.168.2.100 //登录成功
ssh -l westos 192.168.2.100 //登录失败
(5)密码登录认证设定
vim /etc/ssh/sshd_config //注释用户黑名单,关闭原始密码认证方式
编辑内容如下图所示:
PasswordAuthentication no
systemctl restart sshd
在客户端进行登录验证
ssh -l root 192.168.2.100 //登录失败
ssh -l root 192.168.2.100 -i /mnt/id_rsa //登录成功
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)