通过paramiko从远程主机获取Python版本

2 投票
1 回答
1450 浏览
提问于 2025-04-17 10:57

我正在写一个软件,目的是获取一些关于服务器的信息,特别是我想从远程服务器上获取Python的版本。

这是我的代码:

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(self.server, username=self.user, password=self.pass)
stdin, stdout, stderr = ssh.exec_command("/usr/bin/python -V")
stdin.flush()
data = stdout.readlines()
print data  #just debug
ssh.close()

但是打印出来的结果只是“[]”。

1 个回答

3

这个信息是在错误输出里。别问我为什么:

>>> import paramiko
>>> ssh = paramiko.SSHClient()
>>> ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> ssh.connect('tek')
>>> stdin, stdout, stderr = ssh.exec_command('python --version')
>>> stdin.flush()
>>> data = stdout.readlines()
>>> data
[]
>>> data = stderr.readlines()
>>> data
['Python 2.6.6\n']

撰写回答