多个端口转发给出绑定:地址已在使用中

多个端口转发给出绑定:地址已在使用中

我想使用多个端口转发来运行使用在远程服务器上运行的两个数据库的应用程序的后端。我对此很陌生。我正在运行以下命令:

ssh -L 5432:IP_remote:5432 -L 3333:IP_remote:3306 user@IP_remote

我的理解是,我的本地主机应该在端口 5432 和 3333 上看到数据库数据。对吗?当我启动此命令时,我连接到服务器,但第一行显示:

bind: Address already in use

这是指我的本地主机还是远程服务器?在连接服务器之前在我的本地主机上运行:

netstat -tulpn

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1526/mysqld
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1125/postgres     

5432 正在被 postgres 使用,因此我尝试在 ssh 命令中将端口 5432 更改为 5433,但仍然出现相同的错误。

建立连接后,在我的本地主机上运行上一个命令(即 netstat -tulpn),结果如下:

tcp        0      0 127.0.0.1:3333          0.0.0.0:*               LISTEN      6247/ssh        
tcp6       0      0 ::1:5432                :::*                    LISTEN      6247/ssh        
tcp6       0      0 ::1:3333                :::*                    LISTEN      6247/ssh        

这是否表明运行正常?谢谢

答案1

您的本地主机使用了端口 3333,因此错误来自您这边。您的计算机上有其他进程正在使用此端口。

相关内容