1.不要使用默认端口: Port 2022 前面的注释符"#"去掉,并将端口修改为自己认为合适的端口号,假设是2022
创新互联专业为企业提供临沧网站建设、临沧做网站、临沧网站设计、临沧网站制作等企业网站建设、网页设计与制作、临沧企业网站模板建站服务,10多年临沧做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
2.不要使用 protocol1 : 修改为protocol 2
3.限制可登录的用户
#白名单 AllowUsers user1 user2 user3 ... 设置允许登录ssh服务器的用户,添加如下内容 #黑名单 可以添加用户或者租
4.设定空闲会话超时时长:
CllientAliveInerval 60s 指定服务器端向客户端请求消息的时间间隔, 默认是0, 不发送.而ClientAliveInterval 60表示每60秒发送一次, 然后客户端响应, 这样就保持长连接了
ClientAliveCountMax 3 表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开. 正常情况下, 客户端不会不响应.
5.利用防火墙设置ssh访问策略 只允许指定的IP范围访问登录 iptables 只允许指定IP
6.让ssh监听到可靠的安全的IP地址上,而非本机所有IP地址 #ListenAddress 192.168.1.1 并把前面的# 去掉
7.使用强密码策略(禁止空密码)
如生成随机密码: tr -dc A-Za-z0-9_
8.使用基于密钥的认证, 禁用密码登录 /etc/ssh/sshd_config 中PasswordAuthentication no
基于密钥的认证
方法一: #在客户端ssh-keygen -t rsa 生成密钥对:默认默认密钥为id_rsa, id_rsa.pubman ssh-keygen# ssh-copy-id -i /root/.ssh/id_rsa.pub root@server_host操作完成即可不需要密码登录server
方法二:在客户端ssh-keygen -t rsa 生成密钥对:默认默认密钥为id_rsa, id_rsa.pub
用scp命令复制id_rsa.pub 复制到server上,并cat id_rsa.pub >>.ssh/authorized..文件中
注意该文件权限应为600
9.禁止管理员root直接登录 PermitRootLogin no 禁止root登录 可以使用普通户然后sudo
10.显示ssh的访问频度 MaxAuthTries 3 还可以将最大登录尝试次数修改一下,例如我们修改为3次
11.做好日志记录周期性分析:可以分析/var/log/secure ,写脚本当连续尝试失败后,将源IP用iptables阻断一段时间 暂时留空,,,后续补上#####################**********###########