一台在线才5天的服务器,用 lastb |wc -l
统计了下,有近十万次的暴力破解登录失败记录。
隧想改下 sshd
的监听端口,免得招蜂引蝶。
打开配置文件 /etc/ssh/sshd_config
把默认的22端口改成高位端口后,用 systemctl restart sshd.service
重启sshd服务失败。
报错如下:
Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.
systemctl status sshd.service
的输出如下:
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since 四 2018-09-27 10:10:42 CST; 38s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 47324 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=255)
Main PID: 47324 (code=exited, status=255)
9月 27 10:10:42 english systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
9月 27 10:10:42 english systemd[1]: Failed to start OpenSSH server daemon.
9月 27 10:10:42 english systemd[1]: Unit sshd.service entered failed state.
9月 27 10:10:42 english systemd[1]: sshd.service failed.
没啥有用的提示,再看 journalctl -xe
-- Unit sshd.service has begun starting up.
9月 27 10:12:07 english sshd[47352]: error: Bind to port 23389 on 0.0.0.0 failed: Permission denied.
9月 27 10:12:07 english sshd[47352]: error: Bind to port 23389 on :: failed: Permission denied.
9月 27 10:12:07 english sshd[47352]: fatal: Cannot bind any address.
9月 27 10:12:07 english systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
9月 27 10:12:07 english systemd[1]: Failed to start OpenSSH server daemon.
-- Subject: Unit sshd.service has failed
-- Defined-By: systemd
说我没权限绑定 23389
端口,老夫是 root
咋会没权限呢?
/var/log/messages
里面没有啥有用的提示, /var/log/secure
里面的提示跟上面显示一样,没权限。两头雾水。
经验告诉我,当日志里面没明显提示,而服务又是和安全相关的时候,锅往 selinux
上甩准没错,果然 getenforce
返回的是 Enforcing 。
执行 setenforce 0
关闭 selinux
后,一切正常。
最后提醒下,修改 sshd
配置文件属于高危操作,要慎之又慎,如上文,端口改成23389后,你重启sshd服务让修改生效,重启这个动作分解是这样的:
1、停止SSHD服务
2、用修改后的新配置文件启动SSHD服务,而此时配置文件有误,无法启动SSHD。
无法启动SSHD服务,这想想都刺激呢?若是云服务器还好,可以通过web控制台的console连接上去操作,若是托管在IDC机房的机器,只能去机房接显示器了。
比较安全的方法就是用一个脚本每隔20分钟把正确的sshd配置文件覆盖回来,然后启动SSHD服务,当你确认修改成功后,再取消掉这个脚本。
评论 (0)