技术解析

ssh 重连时出现映射的端口被堵塞, 如何解决?
0
2021-07-02 18:50:06
idczone
使用 ssh 自带的端口映射工具用于内网穿透, 当连接被打断, 重连时相同的端口依然被上一个进程所占据.

11:27:01.556 Authentication completed.
11:27:01.774 Failed to add server-to-client port forwarding rule on 0.0.0.0:30050: Operation was rejected.
11:27:02.008 Failed to add server-to-client port forwarding rule on 0.0.0.0:30051: Operation was rejected.
11:27:02.242 Failed to add server-to-client port forwarding rule on 0.0.0.0:30052: Operation was rejected.

用终端查看上一个已断开的 sshd 进程依然占用端口

[email protected]:~/videos# lsof -i:30052
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 2461 root 11u IPv4 1075515793 0t0 TCP *:30052 (LISTEN)
sshd 2461 root 12u IPv6 1075515794 0t0 TCP *:30052 (LISTEN)
sshd 2461 root 13u IPv4 1079298219 0t0 TCP vps:10052-> xxxxxx:44943 (CLOSE_WAIT)

只有手动把 sshd 这条进程 kill 后, 才能重新进行端口映射, 请问该如何解决? 谢谢
重连的时候 kill 呗。。
我翻了下文档。没找到相关配置和参数。。
PS :估计你可以修改修改源码。 setsocket 加个参数 SO_REUSEADDR

估计是端口是加了一个 time_wait ,原先写 socket 的源码的时候也遇到过。。。。 ssh 应该有配置文件,允许服用。

这个问题我也遇到过。。。当时还觉得很奇怪,为啥连上一断开就连不上了 Orz

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服