Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。
SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现
- 一修改ssh端口
找到SSh服务配置文件路径一般都是在 /etc/ssh这个目录下面 sshd_config 这个文件
vi /etc/ssh/sshd_config
找到 port 修改为自己想要的端口 然后重启ssh服务
systemctl restart sshd
- 查看错误ssh登录日志
列出所有失败的SSH登录名的最简单命令如下所示。
grep "Failed password" /var/log/auth.log
查看登录失败出现次数前十的ip
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort -n |uniq -c | sort -nr|head -10
如果攻击ip次数过多考虑使用防火墙或软件封禁ip 例如以下
fail2ban 功能特色
根据实时日志,统计请求数量,如果某个时间段,某种请求超过了阈值,就可以封禁该 IP