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.
/ etc / sysconfig / iptables包含:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 777 -j ACCEPT
netstat -tulpn | grep:22 和 netstat -tulpn | grep:777 什么都不返回
答案 0 :(得分:7)
Centos默认使用SELinux,我认为Ubuntu没有(或者至少我没见过它)。查看日志中的SElinux权限错误。
答案 1 :(得分:2)
您可以使用命令 sudo setenforce 0 禁用 selinux。
sudo setenforce 0
firewall-cmd --add-port=777/tcp --permanent
firewall-cmd --reload
答案 2 :(得分:1)
SELinux不允许在默认安装的CentOS 6.3上的另一个端口上运行sshd。关注 - > https://blog.tinned-software.net/change-ssh-port-in-centos-with-selinux/:
sudo semanage port -a -t ssh_port_t -p tcp 777
答案 3 :(得分:0)
端口777专用于Multiling HTTP,即使未使用,也无法绑定到它。如果您尝试绑定到端口8777,它将正常工作。