通过 *** 隧道从第三方获取数据

Posted

技术标签:

【中文标题】通过 *** 隧道从第三方获取数据【英文标题】:Fetching data from a third party through a *** tunnel 【发布时间】:2019-09-14 21:51:59 【问题描述】:

我正在构建一个数据管道,该管道从第三方的关系数据库中获取数据并将其转储到 s3 或本地 hdfs。

要访问他们的数据库,我们需要通过 *** 隧道。我使用的 *** 客户端是 fortinet_ssl_*** 客户端。连接到 *** 后,我可以使用 sqoop 导入数据。我正在 ubuntu 虚拟机上开发这个管道。

我面临的问题是,一旦我在 VM 上建立 *** 连接,ssh 终端就会卡住,我也无法从另一个终端窗口 ssh 进入该 VM。

我用来建立 *** 连接的命令如下:

./forticlientssl***_cli --server <host>:<port> --***user <user> --keepalive

我无法弄清楚是什么导致了这种行为,任何帮助将不胜感激。

【问题讨论】:

是否提示输入密码? 我的理解是设置***后,你不能ssh到远程主机。如果是这样,请您做一些测试:1.确保远程主机可以访问,以防***路由错误,我的意思是ping远程主机IP以确保远程主机可以访问2.telnet remote_ip 22以确保TCP级别是OK 3. 如果 22 端口可以访问,尝试 ssh -v username@remote_ip 看看是哪一步卡住了 4. 尝试 ping -s 9000 远程 IP 测试 jumbo 数据包是否可以通过电路。 【参考方案1】:

一个原因可能是服务器需要用户名和密码。 Expect 可以帮助解决这个问题。

expect "Password for ***:"
send -- "password\r"
expect "Would you like to connect to this server? (Y/N)"
send -- "Y\r"
expect eof

【讨论】:

感谢您的回复。我提供了用户名和密码,就像你建议的那样。建立 *** 连接不是问题,一旦建立连接,我就无法 ssh 进入它。 那可能是因为你的网关变了。这可能会破坏 SSH,使用 hosts 文件或 iptables 来修复。

以上是关于通过 *** 隧道从第三方获取数据的主要内容,如果未能解决你的问题,请参考以下文章

通过 SSH 隧道访问端点

长期从第三方获取数据及回写(两个局域网之间)

ffmpeg如何从url获取视频帧数据

通过隧道颠覆

通过 URL 从 JSON 数据中获取数据并使用列表视图或回收器视图将其显示在 android 应用程序中

Qt - 获取数据并通过串行连接转发它们