小编13d*_*tar的帖子

连接关闭后如何清理SSH反向隧道套接字?

如果我运行这样的东西:

ssh -4 -f -N -T -R "/home/dude/lol.socket:192.168.4.44:4444" dude@someserver -p 22 -i privatekey -o "ExitOnForwardFailure yes" -o ConnectTimeout=5 -o ConnectionAttempts=3 -o ServerAliveInterval=15 -o
Run Code Online (Sandbox Code Playgroud)

然后让我们说连接因任何原因关闭或死亡..说计算机由于维护或错误或互联网连接问题或其他原因重新启动 - >我们有一个大问题。sshd 不会删除/home/dude/lol.socket在 上创建的套接字文件someserver。因此,当反向隧道启动器正在恢复并尝试重新创建隧道时,它不能,因为:

Error: remote port forwarding failed for listen path /home/dude/lol.socket
Run Code Online (Sandbox Code Playgroud)

在服务器端,你会得到类似的东西:

error: bind: Address already in use
error: unix_listener: cannot bind to path: /home/dude/lol.socket
Run Code Online (Sandbox Code Playgroud)

断开连接后清理套接字的支持方式/最佳黑客是什么?这是 sshd 中的一个错误,如果/当注意到断开连接时,它不应该自动执行此操作吗?

背景故事:

使用套接字背后的想法很简单,服务器将处理 n 个“伙计”,在任何端口为 m 个“大声笑”服务创建反向隧道,并且使用套接字可以更轻松地确保“伙计”只能访问和绑定到他自己的插座,而不是其他人的插座。它还使我不必记录哪个家伙使用哪个端口来公开哪个服务。当老兄想连接到其他服务器上的服务时,他只需要知道服务的名称并将其绑定到某个随机的本地端口(如果他愿意,也可以使用套接字)即

ssh -v -i -4 -N -T -L "127.0.0.1:3334:/home/dude/lol.sock" -p 22 dude@someserver -o "ExitOnForwardFailure yes" -o ConnectTimeout=5 …

ssh openssh ssh-tunneling sshd

11
推荐指数
1
解决办法
9469
查看次数

标签 统计

openssh ×1

ssh ×1

ssh-tunneling ×1

sshd ×1