使用Python与远程计算机接口

2024-10-01 09:42:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚成为我的研究小组集群的系统管理员,在这方面,我还是个新手。我正在尝试制作一些工具来监视网络,需要帮助才能开始用python(我的母语)来实现它们。在

例如,我想查看谁登录到远程计算机。我用ssh和who,但是如何将这些信息放入脚本中进行操作呢?有点像

import remote_info as ri
ri.open("foo05.bar.edu")
ri.who()

Out[1]: 
hutchinson tty7         2009-08-19 13:32 (:0)
hutchinson pts/1        2009-08-19 13:33 (:0.0)

类似于cat /proc/cpuinfo来获取节点的处理器信息。一个起点真的很棒。谢谢。在


Tags: 工具网络脚本信息远程计算机小组集群
3条回答

我一直在使用Pexpect,它让您成功地通过ssh进入机器、发送命令、读取输出并对其作出反应。我甚至开始了一个围绕它的开源项目,Proxpect-这已经很久没有更新了,但是我偏离了。。。在

这里有一个简单,廉价的解决方案,让你开始

from subprocess import *
p = Popen('ssh servername who', shell=True, stdout=PIPE)
p.wait()
print p.stdout.readlines()

退货(例如)

^{pr2}$

对于cpuinfo:

p = Popen('ssh servername cat /proc/cpuinfo', shell=True, stdout=PIPE)

pexpect模块可以帮助您与ssh接口。或多或少,这里是您的示例的样子。在

child = pexpect.spawn('ssh servername')
child.expect('Password:')
child.sendline('ABCDEF')
(output,status) = child.sendline('who')

相关问题 更多 >