我需要编写一个python脚本,通过SSH连接到主机,然后以某种方式连接到位于localhost
的服务并执行一些交互式会话。
首先想到的是使用Paramiko
进行本地端口转发,然后使用Pythons的sockets
库与服务进行通信。
但与Paramiko
合作是一个相当大的挑战,我还没有想出如何解决一些问题。
所以我切换到pxssh
并使用了简单的场景:
conn.sendline('telnet {} {}'.format('localhost', port)
conn.expect('PASSWORD:')
conn.sendline(password)
...
但那个telnet的东西真让我烦恼
而且我认为可以建立SSH连接的方式是从Python的代码预期我只做data = open('somefile').read()
实际上在远程主机上打开somefile
并且所有流量由于SSH而被加密。