首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python ssh自动化脚本

python ssh自动化脚本
EN

Stack Overflow用户
提问于 2017-02-23 20:10:54
回答 2查看 1.1K关注 0票数 0

我想构建一个自动化脚本,用于在运行linux的远程服务器上执行大量命令,并检查每个命令的“退出代码”,并将其与语句进行比较

到目前为止,作为一个绝对的初学者,我有以下几点:

代码语言:javascript
复制
import paramiko

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('192.168.124.154', username='root', password='password')

stdin, stdout, stderr = client.exec_command('ls -l')

for line in stdout:
    print line.strip('\n')

client.close()

你能帮我写个推荐信吗?

EN

回答 2

Stack Overflow用户

发布于 2017-02-23 20:15:49

代码语言:javascript
复制
child = pexpect.spawn('ssh admin@' +ip)
child.expect ('Login: ')
child.sendline (username)
child.expect ('Password: ')
child.sendline (password)
child.expect('#') # or expect `$`.
child.sendline('<your command>')
child.expect('#')
print child.before

参考:http://pexpect.sourceforge.net/pexpect.html

使用pexpect更容易。

票数 0
EN

Stack Overflow用户

发布于 2018-11-17 03:42:13

您可以使用vassal包,它正是为此而设计的。

您只需安装vassal并执行以下操作

代码语言:javascript
复制
from vassal.terminal import Terminal
shell = Terminal(["ssh username@host", "cd scripts", "python foo1.py", "python foo2.py"])
shell.run()

它将在python中启动一个交互式窗口,您可以从中解析退出代码。此外,它将节省您的身份验证凭据,而不需要一次又一次地键入它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42415415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档