背景

环境:redhat 7
默认:selinux,iptables开启
修改:/etc/ssh/sshd_config

1.单端口模式

情况一:
Port 3333

情况二:
Port 22
ListenAddress 0.0.0.0:3333

情况三:
ListenAddress 0.0.0.0:3333
Port 22

以上三种结果为: 3333


情况四:
Port 22
Port 3333
ListenAddress 0.0.0.0:6666
结果为 6666

情况五:
ListenAddress 0.0.0.0:3333
ListenAddress 0.0.0.0:6666
Port 22
结果为3333 ,6666

2.多端口模式

情况一:
Port 22
Port 3333

情况二:
ListenAddress 0.0.0.0:22
ListenAddress 0.0.0.0:3333

以上情况最终结果是 22,3333

报错注意:

Job for sshd.service failed because a configured resource limit was exceeded. 
See "systemctl status sshd.service" and "journalctl -xe" for details.

详细报错:error: Bind to port 3333 on :: failed: Permission denied

1.由于默认开启selinux,默认安全策略不允许修改ssh端口,需要手动修改策略放行


关闭seliunx

或者

semanage port -a -t ssh_port_t -p tcp 3333

2.防火墙策略添加新端口

firewall-cmd --add-port=3389/tcp --permanent
firewall-cmd --reload

其他注意

如果系统升级过ssh,修改配置文件/etc/ssh/sshd_config也不会生效
升级openssh后,配置文件为/usr/local/etc/sshd_config