在 CentOS 7 中修改 SSH 服务的默认端口(例如从 22
改为其他端口)
编辑 SSH 的配置文件 /etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
找到 #Port 22
,取消注释并修改为其他端口(例如 2222
):
Port 2222
保存文件后退出。
在 CentOS 7 上,SELinux 可能会阻止 SSH 使用非默认端口,需要更新 SELinux 配置。
getenforce
Enforcing
,说明 SELinux 启用。应用配置更改:
sudo systemctl restart sshd
从本地或远程测试连接:
ssh -p 2222 <用户名>@<IP地址>
如果报出权限不足(如 Permission denied
或其他错误),可以按照以下步骤排查和解决:
关闭 SELinux 可以解决因 SELinux 导致的 SSH 修改端口权限问题。但从安全角度考虑,不建议关闭 SELinux,而是推荐配置 SELinux 规则以支持新端口。如果你决定关闭 SELinux,可以按照以下步骤操作:
临时关闭 SELinux,不需要重启系统:
sudo setenforce 0
getenforce
Permissive
,说明 SELinux 已被关闭。此方式仅在当前运行的会话中有效,重启后会恢复为启用状态。
注意事项
- 不建议关闭 SELinux:关闭 SELinux 会降低系统安全性,尤其是在生产环境中。SELinux 提供了一层额外的保护,限制恶意进程的行为。
- 如果只是为了修改 SSH 端口,建议按照临时修改 SELinux 规则,而不是直接关闭 SELinux。