使用Python与远程计算机连接

phy*_*ael 5 python networking monitoring

我刚刚成为我的研究小组的系统管理员,在这方面,我是一个新手.我正在尝试制作一些工具来监控网络,并需要帮助开始使用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)
Run Code Online (Sandbox Code Playgroud)

类似地,例如cat /proc/cpuinfo获取节点的处理器信息.一个起点真的很棒.谢谢.

Pet*_*ter 2

这是一个简单、廉价的解决方案,可以帮助您入门

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

返回(例如)

['usr      pts/0        2009-08-19 16:03 (kakapo)\n',
 'usr      pts/1        2009-08-17 15:51 (kakapo)\n',
 'usr      pts/5        2009-08-17 17:00 (kakapo)\n']
Run Code Online (Sandbox Code Playgroud)

对于 cpuinfo:

p = Popen('ssh servername cat /proc/cpuinfo', shell=True, stdout=PIPE)
Run Code Online (Sandbox Code Playgroud)