我想使用多个端口转发来运行使用在远程服务器上运行的两个数据库的应用程序的后端。我对此很陌生。我正在运行以下命令:
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,因此错误来自您这边。您的计算机上有其他进程正在使用此端口。