我是第一次使用 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 

地点:

  1. 8080:是您工作站上的本地端口
  2. localhost:对应mylinuxserver.mycompany.com
  3. 3306:localhost上面的MySQL端口。

然后(从您的工作站)连接到 MySQL:

mysql -h 127.0.0.1 --port=8080  

此外,ping localhost:8080 是错误的。 Ping 不能那样工作。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!