怎么修改linuxssh端口映射
怎么修改linuxssh端口映射详细介绍
要修改 Linux 中 SSH 的端口映射,通常有两种场景:修改 SSH 服务自身的监听端口,或通过工具(如 iptables)将其他端口流量转发到 SSH 端口。以下是具体操作步骤:
一、修改 SSH 服务自身的监听端口(推荐场景)
SSH 服务的默认监听端口是 22,修改它可以直接调整 sshd 服务的配置。
操作步骤:
- 备份原始配置文件(重要!避免配置错误导致无法连接):
bash/etc/ssh/sshd_config /etc/ssh/sshd_config.bak - 编辑 SSH 配置文件,修改
Port参数:
bash/etc/ssh/sshd_config找到
#Port 22这一行(可能被注释),取消注释并修改为新端口(例如 2222):
plaintextPort 2222 # 新端口号(范围:1-65535,避免与其他服务冲突) - 重启 SSH 服务使配置生效:
bashsystemctl restart sshd - 验证端口是否生效(可选):
bashss sshd - 开放新端口的防火墙规则(关键!否则外部无法连接):
- 若使用
firewalld(CentOS/Fedora):bashfirewall-cmd --add-port/tcpfirewall-cmd
- 若使用
ufw(Ubuntu):bashufw allow /tcpufw reload
- 若使用
二、通过 iptables 进行端口映射(转发其他端口到 SSH)
如果需要将外部请求的某个端口(如 8022)转发到 SSH 的 22 端口(适用于 NAT 或端口转发场景),可以通过 iptables 配置。
操作步骤:
- 添加 NAT 转发规则(将 8022 端口流量转发到 22 端口):
bashiptables nat PREROUTING tcp REDIRECT --to-port - 保存规则(避免重启后失效,不同系统保存方式不同):
- CentOS/Fedora:bash
iptables-save /etc/sysconfig/iptables - Ubuntu:bash
netfilter-persistent save
- CentOS/Fedora:bash
- 验证规则是否生效:
bashiptables nat
注意事项:
- 修改 SSH 端口后,客户端连接时需指定新端口(如
ssh user@ip -p 2222)。 - 若使用云服务器(如阿里云、AWS),需在控制台的安全组中开放新端口。
- 操作前建议确保能通过其他方式(如服务器本地终端)登录,避免因配置错误导致无法远程连接。
V1