Openssh服务的安全优化策略
一、设定实验环境
1.先把电脑里面的desktop和server两台虚拟机均reset,实现环境的纯净。
2.配置desktop和server的ip地址
nm-connection-deitor进行ip修改
3.修改主机名hostnamectl set-hostname client
4.删除/root/.ssh进一步纯净环境
二、ssh命令的使用方式
1.sshd简介
sshd= secure shell
可以通过网络在主机中开机shell的服务
客户端软件<C-F9>
sshd
连接方式:
ssh [email protected] ##文本模式的链接
ssh -X [email protected] ##可以在链接成功后开机图形
注意:
第一次链接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
再次连接此主机时,因为已经生成~/.ssh/known_hosts文件所以不需要再次输入yes
ssh [email protected]连接远程主机输入密码
但是这样不能启用远程主机的图形工具要想启用必须加上-X
ssh -X [email protected]
也可以不打开交互界面直接打开一些进程
ssh [email protected] firefox
三、密码认证及**认证的对比及**认证实施的完整步骤
密码认证相缺点:不安全对称加密(加密和解密利用的时同一个字符),容易被遗忘容易被泄漏
优点:简单
**认证:非对称加密、管理更加灵活更加稳定
步骤:生成**、上传**
四、**实施之生成**
sshd的key认证######
1.生成认证KEY
[[email protected] ~]# ssh-****** #生成**的命令
Enter file in which to save the key (/root/.ssh/id_rsa):##指定保存加密字符的文件(使用默认)
Enter passphrase(empty for no passphrase): ##设定密码(使用空密码)
Enter same passphrase again: ##确认密码
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 进行加密
ls /root/.ssh/
vim /etc/ssh/sshd_config 修改78行密码为n
可以看出id_rsa为私钥,id_rsa.pub为公钥的模板
利用ssh-****** -f /root/.ssh/id_rsa -P ""可以实现不用回车直接生成
五、**实施之上传**加密sshd
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 进行加密生成authorized_keys
六、**实施之验证测试
在服务器上关闭原始的密码认证
vim /etc/ssh/sshd_config 文件的78行 PasswordAuthentication yes改为PasswordAuthentication no
重启服务 systemctl restart sshd.service
去客户端测试
没有输入密码的权力
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
可以直接登陆
七、sshd服务安全优化之修改端口
setenforce 0 设置成警告模式
systemctl stop firewalld 关闭火墙
netstat -antlpue | grep sshd 查看sshd的端口
vim /etc/ssh/sshd_config
17行改成
port 6666 修改sshd的端口
systemctl restart sshd
netstat -antlpue | grep sshd
test:
ssh [email protected]
ssh [email protected] -p 6666
八、sshd安全优化之常用优化参数设定
ListenAddress ip ##绑定接口到固定ip,所能使用22端口的主机ip,为0.0.0.0.默认全开
PermitRootLogin yes|no ##是否可以让超级用户通过ssh的认证
DenyUsers lee ##设置黑名单
AllowUsers westos lee ##设置白名单。当白名单生效后其他所有的用户均是黑名单
生效后: