我想构建一个自动化脚本,用于在运行linux的远程服务器上执行大量命令,并检查每个命令的“退出代码”,并将其与语句进行比较
到目前为止,作为一个绝对的初学者,我有以下几点:
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()你能帮我写个推荐信吗?
发布于 2017-02-23 20:15:49
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更容易。
发布于 2018-11-17 03:42:13
您可以使用vassal包,它正是为此而设计的。
您只需安装vassal并执行以下操作
from vassal.terminal import Terminal
shell = Terminal(["ssh username@host", "cd scripts", "python foo1.py", "python foo2.py"])
shell.run()它将在python中启动一个交互式窗口,您可以从中解析退出代码。此外,它将节省您的身份验证凭据,而不需要一次又一次地键入它们。
https://stackoverflow.com/questions/42415415
复制相似问题