这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战
在上一篇文章 There were 1978 failed login attempts since …… denyhosts阻止SSH暴力攻击 中我给大家分享了一个 使用 denyhosts工具 阻止SSH暴力攻击的方法,但是该方法需要安装新的工具,并且需要配置相关设置文件,步骤有点繁琐,操作难度比较大,对一些服务器小白不太友好。
今天说一个简单解决 SSH 暴力攻击(端口扫描)的方法:更改SSH默认 22 端口
(一般服务器都是默认开放 22端口,为SSH提供服务,方便用户通过22端口进行ssh操作,所以大部分自动扫描工具,都是会扫描常见端口进行攻击,如果我们把22端口关掉,或者使用我们自定义的端口进行登录,就可以很大程度避免这种攻击)
步骤:
- 远程登录服务器
可使用 xshell 或者 iterm 等工具登录
- 编辑 ssh配置文件(一般在/etc/ssh/目录下)
vim /etc/ssh/sshd_config
修改
#Port 22
#AddressFamily inet
#ListenAddress 0.0.0.0
#ListenAddress ::
添加上自定义的端口为 (23456或者任意10000~65535之间的端口,因为10000以下的端口号可能被特殊软件占用)
Port 22
Port 23456
#AddressFamily inet
#ListenAddress 0.0.0.0
#ListenAddress ::
⚠️注意:这里原来的 22 端口仍然保留,等配置完成,使用 23456 端口能够登录成功之后,再把22端口注释掉,防止更改端口之后登录不成功造成麻烦。
- 开放新增的 23456 端口 (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=ssh端口/tcp --permanent
更新防火墙:
firewall-cmd –reload
重启sshd服务:
systemctl restart sshd
- 注意,要在服务器的安全组设置中开放 23456端口,
登录服务器控制台,安全组设置中 开放 23456 端口
- 退出登录,使用 23456 端口重新登录,
ssh root@0.0.0.0 (你的公网IP) -p 23456
如果能登录成功,则重回上边第 2. 步,将22端口注释,以后使用 23456 端口登录即可。
如有问题,参见: