Linux修改或添加ssh服务端口

一、背景

通常SSH服务的默认监听端口为22,但有的时候往往出于安全的原因,会修改默认的22端口为其他端口,防止被太容易的攻击。当然也有可能是为了一些骚操作而修改的端口,这里就不赘述了。本例子以Redhat系统为例。

二、修改SSH端口

要修改SSH的默认端口,只需要找到SSH服务的配置文件,在/etc/ssh/目录下,找到sshd_config文件,编辑该文件,找到如下位置:
在这里插入图片描述
取消掉Port 22所在行的注释,并且将22修改为想要修改的端口号即可。例如:

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 12345
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
三、增加SSH端口

新增SSH的连接端口,和修改端口类似,需要找到SSH服务的配置文件,在/etc/ssh/目录下,找到sshd_config文件,编辑该文件,同样找到如下位置:
在这里插入图片描述
在取消掉Port 22所在行的注释后,再新增一行,例如:

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 22
Port 12345
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

这样通过2212345端口都可以连接到服务器上了,这里注意不能只添加Port 12345,这样就变成修改了!!!!22端口就连接不了了!!!!

四、重启sshd服务

无论是修改SSH端口还是新增SSH端口,修改完配置文件后都要重启SSHD服务,使得修改生效。使用如下命令:

systemctl restart sshd

重启之后,通过配置的多个ssh端口就都可以连接到服务器啦~~

<think>我们正在处理用户关于在Linux系统中配置SSH服务以监听多个端口的问题。 根据引用[1],在CentOS7.6下,可以通过修改SSH配置文件并重启服务来实现多个端口的监听。 引用[2]提供了Ubuntu系统下的类似方法,也是修改配置文件并重启服务。 引用[3]则提示,如果系统升级过ssh,配置文件的位置可能发生变化,需要注意。 因此,我们可以总结出通用的步骤(注意不同发行版配置文件路径可能略有不同,但通常都是/etc/ssh/sshd_config): 1. 使用文本编辑器(如vim)打开SSH服务的配置文件:/etc/ssh/sshd_config。 2. 在配置文件中添加多个Port行,每行指定一个端口号(例如:Port 22,Port 2222)。 3. 保存配置文件。 4. 重启SSH服务(具体命令可能因系统而异,如systemctl restart sshdservice ssh restart)。 5. 确保防火墙开放了这些端口(如果需要通过防火墙连接)。 需要注意的是: - 端口号必须在1024到65535之间(1024以下的需要root权限才能绑定)。 - 避免使用已经被其他服务占用的端口。 - 修改配置文件前最好备份。 下面我们将详细说明步骤。</think>### Linux SSH 服务配置多个端口的方法 在 Linux 系统中,SSH 服务支持同时监听多个端口,可通过修改配置文件实现。以下是具体步骤: 1. **修改 SSH 配置文件** 使用 root 权限编辑配置文件(不同系统路径可能略有差异): ```bash sudo vim /etc/ssh/sshd_config # 大多数系统路径 # sudo vim /usr/local/etc/sshd_config # 升级过 SSH 的系统可能在此[^3] ``` 2. **添加多个端口** 在配置文件中添加 `Port` 指令,每行一个端口: ```nginx Port 22 # 默认端口 Port 2222 # 新增端口1 Port 3333 # 新增端口2 ``` 3. **重启 SSH 服务** ```bash # Systemd 系统(如 CentOS 7+/Ubuntu 16.04+) sudo systemctl restart sshd # 旧版系统(SysVinit) sudo service ssh restart ``` 4. **验证端口监听** ```bash sudo ss -tuln | grep 'ssh' ``` 输出应包含所有配置的端口(如 `:22`, `:2222`)。 5. **防火墙配置** 开放新增端口(以 firewalld 为例): ```bash sudo firewall-cmd --permanent --add-port={2222,3333}/tcp sudo firewall-cmd --reload ``` **注意事项**: - 端口范围需在 `1024-65535`(`1024` 以下需 root 权限) - 避免与系统服务端口冲突(如 `80`, `443`) - 配置文件修改前建议备份: ```bash sudo cp /etc/ssh/sshd_config{,.bak} ``` > **安全提示**:建议禁用密码登录,改用密钥认证: > ```nginx > PasswordAuthentication no > PubkeyAuthentication yes > ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值