CentOS 6.3.SSH.在0.0.0.0上绑定到端口xxx失败:权限被拒绝

ind*_*lic 3 ssh centos

CentOS 6.3最小配置.安装了SSH服务器,端口22.一切正常.我在777上更改端口22并重新启动sshd并在日志中查看:

Jul 26 01:01:07 myserver sshd[1590]: error: Bind to port 777 on 0.0.0.0 failed: Permission denied.
Jul 26 01:01:07 myserver sshd[1590]: error: Bind to port 777 on :: failed: Permission denied.
Jul 26 01:01:07 myserver sshd[1590]: fatal: Cannot bind any address.
Run Code Online (Sandbox Code Playgroud)

/ etc/sysconfig/iptables包含:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 777 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

netstat -tulpn | grep:22netstat -tulpn | grep:777什么都不返回

Net*_*olf 7

Centos默认使用SELinux,我认为Ubuntu没有(或者至少我没见过它).查看日志中的SElinux权限错误.


Chr*_*ich 7

SELinux 不允许 sshd 在 CentOS 6.3 默认安装的另一个端口上运行。关注 -> https://blog.tinned-software.net/change-ssh-port-in-centos-with-selinux/

  • 在你的防火墙上挖一个洞(你已经这么做了)
  • 为 SELinux 添加一条规则以允许 sshd 在端口 777 上运行:sudo semanage port -a -t ssh_port_t -p tcp 777


Flo*_*ciu 0

端口 777 专用于 Multiling HTTP,即使未使用,您也无法绑定到它。例如,如果您尝试绑定到端口 8777,它将正常工作。