使用python中有一个paramiko模块来实现python SSH客户端,与SSH服务器交互时,需要注意有交互式和非交互式的区别。
只执行单条命令,之后就断开链接,可以使用非交互方式。执行多条命令,或者基于前面的输出结果来判断后续要执行的命令,需要使用交互式方式。
我在写自动化测试用例时,就尝试使用非交互方式去连接一个只支持交互方式的SSH服务器,就怎么也读不到返回结果。换成交互式后就可以了。
需要注意的是,命令后面记得加“\n”。
下面内容转自: https://blog.csdn.net/u012322855/article/details/77839929/
python中有一个paramiko,功能强大,用来做SSH比较方便
先上代码
import paramiko
class SSHConnection(object):
def __init__(self, host, port, username, password):
self._host = host
self._port = port
self._username = username
self._password = password
self._transport = None
self._sftp = None
self._client = None
self._connect() # 建立连接
def _connect(self):
transport = paramiko.Transport((self._host, self._port))
transport.connect(username=self._username, password=self._password)
self._transport = transport</

本文介绍了如何使用Python的paramiko模块进行SSH连接,包括非交互式和交互式方式。在非交互式中,适用于执行单条命令;交互式则适合连续命令执行,如自动化测试。通过示例代码展示了建立连接、执行命令、文件传输等功能,并指出在某些场景如chroot下,需要使用invoke_shell方法来实现交互。
最低0.47元/天 解锁文章

2756

被折叠的 条评论
为什么被折叠?



