解决 CentOS 修改 SSH 端口出错 error: Bind to port 1024 on 0.0.0.0 failed: Permission denied.

基本上所有 VPS 商家的 SSH 端口都是默认的 22,有时候就会出现被暴力 SSH 破解的问题,为了解决这个问题,比较方便快捷的方法就是修改默认的 SSH 端口。今天老王照常修改 SSH 端口时,提示错误:error: Bind to port 1024 on 0.0.0.0 failed: Permission denied.,这个错误是由于 selinux 导致的,本文分享下解决办法。

一、问题描述与原因

如何修改 SSH 端口可以参考这篇教程:《Linux修改SSH默认22端口,指定SSH端口的方法

今天老王在一台 Linode 的 VPS 上修改完 sshd_config 后(CentOS 7 系统),在操作 service sshd restart 重启 SSH 服务时,提示错误:

Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.

运行 journalctl -xe 查看错误日志如下:

-- Unit sshd.service has begun starting up.
sshd[12291]: error: Bind to port 1024 on 0.0.0.0 failed: Permission denied.
sshd[12291]: error: Bind to port 1024 on :: failed: Permission denied.
sshd[12291]: fatal: Cannot bind any address.
systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
systemd[1]: Failed to start OpenSSH server daemon.

这个问题是由于 selinux 引起的,需要修改 selinux 中的 SSH 端口。

二、解决办法

解决办法就是修改 selinux 中的 SSH 端口,解决步骤如下:

1、安装修改工具

yum -y install policycoreutils-python

2、查看 selinux 中的 SSH 端口(输出默认的端口 22)

semanage port -l | grep ssh

3、新增目标端口

semanage port -a -t ssh_port_t -p tcp 1024

4、重启 SSH 服务

service sshd restart

这样就可以重启 SSH 服务成功了,SSH 端口也就修改成功了。

给TA打赏
共{{data.count}}人
人已打赏
运维

Linux 上通过 Docker 安装酷Q实现 24 小时运行的 QQ 机器人

2023-11-15 12:22:20

运维

通过Nginx 禁止IP实现禁止访问

2023-11-15 13:00:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索