Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';使用sshtunnel将SSH连接到Google云计算引擎_Python_Ssh_Google Compute Engine - Fatal编程技术网

Python Can';使用sshtunnel将SSH连接到Google云计算引擎

Python Can';使用sshtunnel将SSH连接到Google云计算引擎,python,ssh,google-compute-engine,Python,Ssh,Google Compute Engine,我在GCP上准备了两个带有计算引擎的VM实例。 ServerA:数据处理和对ServerB上的SQL(mysql)的读/写。 ServerB:SQL Server(f1 micro*这不是云SQL,而是普通的VM实例。) 尝试从A到B访问SSH,以便使用下面的代码读取/写入ServerB上的DB 错误代码 错误:错误|设置SSH转发器时出现问题:无法打开隧道本地主机:3306本地主机:3306可能正在使用中或无法访问目标 sshtunnel.handlershtunnelforwarderErr

我在GCP上准备了两个带有计算引擎的VM实例。 ServerA:数据处理和对ServerB上的SQL(mysql)的读/写。 ServerB:SQL Server(f1 micro*这不是云SQL,而是普通的VM实例。)

尝试从A到B访问SSH,以便使用下面的代码读取/写入ServerB上的DB

错误代码

错误:错误|设置SSH转发器时出现问题:无法打开隧道本地主机:3306本地主机:3306可能正在使用中或无法访问目标

sshtunnel.handlershtunnelforwarderError:打开隧道时出错

但是在“local_bind_address=(localhost,MYSQL_PORT)”之后,尽管在B的shell或VSCode本地环境中使用相同的代码和相同的私钥,仍然会发生错误

我不明白为什么它使用相同的代码使用shell和VSCode,尽管它在GCE上不起作用


有什么帮助吗?

如果您尝试从客户端VM在脚本之外创建隧道,则可以通过以下方法进一步调试此问题并放弃任何问题:

$ gcloud compute ssh server-a --zone=your-zone --ssh-flag='-NL 3306:127.0.0.1:3306' &
然后尝试连接到:

$ mysql -h 127.0.0.1
$ mysql -h 127.0.0.1