无SSH访问的Mysql隧道连接
从我的本地计算机,我可以通过SSH访问服务器A。 在服务器A上之后,我通过服务器B上的端口3306连接到服务器B上的mysql无SSH访问的Mysql隧道连接,mysql,ssh,portforwarding,tunnel,Mysql,Ssh,Portforwarding,Tunnel,从我的本地计算机,我可以通过SSH访问服务器A。 在服务器A上之后,我通过服务器B上的端口3306连接到服务器B上的mysql mysql -h <B.hostname> -P 3306 -u <username> -p mysql-h-p3306-u-P 我没有从本地计算机或服务器A对服务器B的ssh访问权限 我想做的是从本地机器访问服务器B上的mysql。我找到的每个隧道/端口转发链接都假设我可以通过ssh连接到服务器B。听起来您必须使用远程端口转发。在本地主机
mysql -h <B.hostname> -P 3306 -u <username> -p
mysql-h-p3306-u-P
我没有从本地计算机或服务器A对服务器B的ssh访问权限
我想做的是从本地机器访问服务器B上的mysql。我找到的每个隧道/端口转发链接都假设我可以通过ssh连接到服务器B。听起来您必须使用远程端口转发。在本地主机上尝试以下操作:
[auto]ssh -R 1111:127.0.0.1:2222 -f -N -4Cp1234 username@servername.net
因此,您可以在localhost:2222
(本地计算机)上获得localhost:1111
(当您登录到servername.net时)上的所有内容,通过SSH在servername.net:1234
上传输流量
如果您的“服务器A”可以通过某种方式访问“服务器B”,并且您可以通过SSH访问“服务器A”,这可能会对您有所帮助。SSH的-L使用本地端口、从您连接到的SSH服务器连接的远程主机名以及远程端口。在本例中,您将运行:
ssh-l3307:B.hostname:3306a.hostname
这将使ssh连接到A,当您稍后使用本地mysql客户端(
mysql-H localhost-p 3307-u…
)连接到端口3307时,A的sshd将为您启动到B.hostname:3306的连接。非常感谢。出于某种原因,我不得不在第二步中使用127.0.0.1而不是localhost,但它起了作用。例如,localhost可能解析为IPv4(127.0.0.1)和IPv6地址(::1),ssh只能侦听127.0.0.1:3307,mysql可能尝试连接[::1]:3307。