在 127.0.0.1:3306 上添加客户端到服务器的端口转发规则失败

问题描述 投票:0回答:2

我在Windows上用Putty打开ssh隧道,在Ubuntu 14.04操作系统上设置3306端口从外网远程连接MySql服务器数据库。 而且我只在端口 3306 上收到以下错误:

Failed to add client-to-server port forwarding rule on 127.0.0.1:3306: Address is already in use; bind () in ListeningSocket :: StartListening () failed: Windows error 10013: Attempting to access the socket in ways not allowed by the respective access authorizations.

对于其他端口...例如 5900 和 2222,隧道正常工作,我不明白为什么会出现错误,因为我也在 Ubuntu 上执行了检查端口的命令

sudo lsof -i: 3306

它出现在我身上

COMMAND  PID   USER   FD   TYPE  DEVICE  SIZE/OFF  NODE NAME

mysql    8637  mysql  10u  IPv4  37615     0t0     TPC  *: mysql (LISTEN)

我必须更改什么才能使端口 3306 上的隧道为我工作?提前致谢

mysql-workbench ubuntu-14.04 portforwarding ssh-tunnel tunnel
2个回答
1
投票

我也有

bitvise failed to add server-to-client port forwarding rule 127.0.0.1:8080: Operation was rejected

我使用 bitvise 并尝试进行远程端口转发。正如@IISanto 指出的那样。这是通过在启动 Windows 机器上禁用 IPv6 协议来解决的。这在之后工作得很好:


0
投票

提醒那些登陆谷歌的人。

我遇到了同样的错误:Failed to add server-to-client port forwarding rule on 127.0.0.1:1433

原来我用错了选项:

当你想将本地计算机上的端口转发到 远程 SSH 服务器。示例:您希望访问者访问 Server.com:8080 连接到本地计算机上托管的应用程序,然后使用 S2C。

当你想从远程服务器接收数据时使用
C2S

通过您当地的港口。例子:你想访问Server.com:8080 在您自己的计算机上使用 localhost:8080 然后使用 C2S。

所以我用错了。一旦我换成另一个,它就完美地工作了。

如果端口已被另一个应用程序使用,您也会得到同样的错误。

所以运行 Windows 命令:

netstat -ano -p tcp |find "3306"

其中 3306 是端口号。该命令将返回阻塞或使用该端口的程序的进程 ID。然后运行此命令将进程 ID 转换为程序名称。

tasklist |find "1234"

关闭那个阻塞端口的程序,或者尝试另一个可用的端口。

Failed to add server-to-client port forwarding rule on 127.0.0.1:1433 Bitwise SSH Error

© www.soinside.com 2019 - 2024. All rights reserved.