我用的是centos7。
我试图更改 ssh 的端口,并且更改了 /usr/lib/firewalld/services/ssh.xml 中的端口
我还更改了 /etc/ssh/sshd_config 文件中的端口
但是当我尝试通过“systemctl start sshd”启动 sshd 服务时,出现以下错误。
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 Wed 2019-03-27
16:36:20 IST; 26s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 20420 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited,
status=255)
Main PID: 20420 (code=exited, status=255)
Mar 27 16:36:20 localhost.localdomain systemd[1]: sshd.service: main process
exited, code=exited, status=255/n/a
Mar 27 16:36:20 localhost.localdomain systemd[1]: Failed to start OpenSSH
server daemon.
Mar 27 16:36:20 localhost.localdomain systemd[1]: Unit sshd.service entered
failed state.
Mar 27 16:36:20 localhost.localdomain systemd[1]: sshd.service failed.
答案1
您还需要在 /etc/services 文件中更新新的端口号,
例子:
ssh 22/tcp # 安全外壳 (SSH) 协议 ssh 22/udp # 安全外壳 (SSH) 协议
还要检查 SELinux,因为您需要使用 semanage 工具指定非标准端口。
我建议访问REDHAT文章来更改端口号,
答案2
我在更改端口 22 时遇到了同样的问题。
经检查发现SELinux Status已启用。我已禁用它并再次检查。虽然已经启用了。在重新启动系统之前,SELinux 状态不会更改。
禁用 SELinux 并重新启动系统解决了我的问题并能够更改 SSH 端口。