返回首页 您好

ssh端口无法设置为 61000 及以上的原因

发表时间:2025.07.18 16:48 浏览量:66

1. 更改欧拉系统的ssh默认端口时,从 22 改为 61000 后,重启ssh失败:

diff /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
21c21
< Port 61000
---
> #Port 22

重启结果:

systemctl restart sshd
Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xeu sshd.service" for details.


2. 原因

欧拉系统上是有可用端口的范围限制的。

# 查看系统允许的端口范围
cat /proc/sys/net/ipv4/ip_local_port_range
32768   60999

通常显示:32768 60999(表示临时端口范围)

61000 超出了这个范围,导致绑定失败。


3. 端口分配机制

端口可以分为三类: 系统端口 0-1023 、 用户端口 1024 - 49151 、 动态端口 49152 - 65535

SSH 服务以 root 身份运行,理论上可绑定任意端口,但 Linux 内核会限制 ip_local_reserved_ports 范围外的端口。

********************

因此,将SSH端口设置为 61000 时失败,是因为:

1. 默认范围是 32768-60999
2. 61000 超出了最大限制(60999)
3. 内核拒绝绑定超出范围的端口

********************

修复方案:


方法 1:使用有效端口(推荐)

# 选择 1025-60999 范围内的端口(例如 23456)
sudo sed -i 's/Port 61000/Port 23456/' /etc/ssh/sshd_config

# 重启 SSH 服务
sudo systemctl restart sshd


方法 2:修改系统端口范围(高级)

# 1. 扩大临时端口范围
echo "1024 65535" | sudo tee /proc/sys/net/ipv4/ip_local_port_range

# 2. 永久生效(添加至 sysctl.conf)
echo "net.ipv4.ip_local_port_range = 1024 65535" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# 3. 重启 SSH
sudo systemctl restart sshd


陕ICP备2024031593号-2