如何使用python paramiko模块从远程服务器获取服务详细信息
我想使用paramiko模块获取服务的详细信息 使用以下代码段:如何使用python paramiko模块从远程服务器获取服务详细信息,python,paramiko,Python,Paramiko,我想使用paramiko模块获取服务的详细信息 使用以下代码段: import paramiko ssh = paramiko.SSHClient() ssh.load_system_host_keys() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname, port, username, password) cmd='systemctl status docker' stdin, st
import paramiko
ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, port, username, password)
cmd='systemctl status docker'
stdin, stdout, stderr = ssh.exec_command(cmd)
print(stdout.read())
这是一个非阻塞呼叫。因此,您必须等待远程命令的完成
在SSH服务器上执行命令。一个新的频道被打开,并且
执行请求的命令。命令的输入和输出流
以类似Python文件的对象形式返回,这些对象表示stdin、stdout、,
还有斯特德
因此,如果要获得输出,请尝试:
return_code = stdout.channel.recv_exit_status()
将阻塞,直到comand完成,这样您还将获得commad本身的返回代码
返回服务器上进程的退出状态。这主要是
用于检索exec_命令的结果。如果命令
尚未完成,此方法将等待完成,或者等待
频道关闭了。如果服务器未提供退出状态,则为-1
返回
这是一个非阻塞呼叫。因此,您必须等待远程命令的完成
在SSH服务器上执行命令。一个新的频道被打开,并且
执行请求的命令。命令的输入和输出流
以类似Python文件的对象形式返回,这些对象表示stdin、stdout、,
还有斯特德
因此,如果要获得输出,请尝试:
return_code = stdout.channel.recv_exit_status()
将阻塞,直到comand完成,这样您还将获得commad本身的返回代码
返回服务器上进程的退出状态。这主要是
用于检索exec_命令的结果。如果命令
尚未完成,此方法将等待完成,或者等待
频道关闭了。如果服务器未提供退出状态,则为-1
返回