从我的本地计算机,我有SSH访问服务器A. 在服务器A上,我通过服务器B上的端口3306连接到服务器B上的mysql。
mysql -h <B.hostname> -P 3306 -u <username> -p
我没有从本地计算机或服务器A对服务器B进行ssh访问。
我想要做的是从本地计算机访问服务器B上的mysql。我发现的每个隧道/端口转发链接都假设我可以ssh到服务器B中。
答案 0 :(得分:3)
ssh -L采用本地端口,远程主机名连接连接到的连接的ssh服务器和远程端口。在这种情况下,您将运行:
ssh -L 3307:B.hostname:3306 A.hostname
这将使ssh连接到A,当您稍后使用本地mysql客户端(mysql -H localhost -P 3307 -u ...
)连接到端口3307时,A的sshd将为您启动与B.hostname:3306的连接。
答案 1 :(得分:0)
听起来你必须使用远程端口转发。在您当地的主持人上试试这个:
[auto]ssh -R 1111:127.0.0.1:2222 -f -N -4Cp1234 username@servername.net
因此,您可以使用localhost:2222
(本地计算机)获取localhost:1111
上的所有内容(当您登录servername.net时),并在servername.net:1234
上通过SSH传输流量。< / p>
如果您的“服务器A”可以某种方式访问“服务器B”,并且您可以通过SSH访问“服务器A”,这可能对您有帮助。