ssh 重连时出现映射的端口被堵塞, 如何解决?

2016-05-17 15:27:52 +08:00
 billytv
使用 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 进程依然占用端口

root@vps:~/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 后, 才能重新进行端口映射, 请问该如何解决? 谢谢
3903 次点击
所在节点    Linux
3 条回复
MangozZ
2016-05-17 17:06:59 +08:00
重连的时候 kill 呗。。
我翻了下文档。没找到相关配置和参数。。

PS :估计你可以修改修改源码。 setsocket 加个参数 SO_REUSEADDR
hxndg
2016-05-17 17:30:05 +08:00
估计是端口是加了一个 time_wait ,原先写 socket 的源码的时候也遇到过。。。。 ssh 应该有配置文件,允许服用。
DesignerSkyline
2016-05-17 18:01:16 +08:00
这个问题我也遇到过。。。当时还觉得很奇怪,为啥连上一断开就连不上了 Orz

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/279233

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX