我是第一次使用 SSH 隧道,所以我想了解如何配置它。
我有一个远程 Linux 服务器,它托管着一个我正在尝试连接的 MySQL 数据库。为了通过只识别本地数据库的软件直接访问 MySQL 数据库,我认为 SSH 隧道是设置访问权限的正确方法,对吗?
现在,我正在尝试在我的“家用”计算机上设置隧道,该计算机正在运行试图访问 MySQL 数据库的软件。我的第一个问题是这是反向隧道还是正常隧道?其次,是本地隧道还是远程隧道?
最后,据我了解,我的代码应该看起来像
ssh -L 8080:mylinuxserver.mycompany.com:22 myuser@mylinuxserver.mycompany.com
这是正确的吗?因为我使用的是 SSH,所以我的源端口是“22”吗?我的目标端口是 8080(或者是否有更合适的端口)?
当我尝试使用上面的代码时,我能够使用我的密码登录(因为我的 key 已经在 MyLinuxServer 中)但是当我 ping localhost:8080 时,它找不到主机。
我做错了什么?
请您参考如下方法:
I've got a remote Linux server that hosts a MySQL database that I'm trying to connect to
命令应该是:
ssh -L 8080:localhost:3306 myuser@mylinuxserver.mycompany.com
地点:
- 8080:是您工作站上的本地端口
- localhost:对应
mylinuxserver.mycompany.com - 3306:
localhost上面的MySQL端口。
然后(从您的工作站)连接到 MySQL:
mysql -h 127.0.0.1 --port=8080
此外,ping localhost:8080 是错误的。 Ping 不能那样工作。




