proxy – paramiko:SSH端口转发以获取SQL转储
发布时间:2020-12-12 16:23:41 所属栏目:MsSql教程 来源:网络整理
导读:我试图使用python脚本从远程主机获取SQL转储,中间主机作为代理,如下所示: local machine - proxy - remote 代理需要存在,因为远程主机仅允许通过该代理进行连接. 注意:我在How to connect to a database through a Paramiko Tunnel (or similar package)知
我试图使用python脚本从远程主机获取SQL转储,中间主机作为代理,如下所示:
local machine -> proxy -> remote 代理需要存在,因为远程主机仅允许通过该代理进行连接. 注意:我在How to connect to a database through a Paramiko Tunnel (or similar package)知道类似的问题,但解决方案似乎特定于PostgreSQL. 我通过paramiko使用SSH建立连接.我知道forward.py是端口转发的paramiko示例,但我不确定我是否正确使用它.这就是我做的(PX =代理,RMT =远程): forward.py --password --host=PX --port=PXport --user=PXusr RMT:RMTport 我得到了这个结果: *** Unable to open host keys file *** Warning: no host key for PX Connecting to ssh host PX:PXport ... Now forwarding port 4000 to RMT:RMTport ... 然后脚本卡在最后一行. Q1:有没有人有一个如何使用paramiko的forward.py通过代理连接到远程主机的例子? Q2:建立连接后,是否可以在远程主机上以编程方式执行shell命令? 解决方法我最近编写了一个SSHForwarder类,可以执行您想要的操作:https://gist.github.com/1399529 要使用它,你可以这样做: try: proxy_host = 'PX' proxy_user = 'PXusr' target_port = RMTport target_host = 'RMT' f = SSHForwarder(proxy_host,target_port,target_host,proxy_user) # .... DO SOME STUFF .... finally: if f: f.close() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |