使用pexpect登陆linux系统,并将用户切换到root
#!/usr/bin/env python
import pxssh
import getpass
try:
ssh = pxssh.pxssh()
hostname = IP
username = UNAME
password = PWD
ssh.login (hostname, username, password)
ssh.sendline ('uptime') # run a command
ssh.prompt() # match the prompt
print ssh.before # print everything before the propt.
ssh.sendline ('su - root') #切换到root
ssh.expect(['Password:'])
ssh.sendline('****')#root密码
ssh.prompt()
print ssh.before
ssh.sendline('df -h')
ssh.prompt()
print ssh.before
ssh.logout()
except pxssh.ExceptionPxssh,e:
print "pxssh failed on login."
print str(e)
分享到:
相关推荐
Paramiko和Pexpect是两个在Python中实现SSH交互的库,它们各有特色并能帮助开发者高效地自动化执行远程服务器的任务。 Paramiko是一个纯Python实现的SSHv2协议库,它提供了客户端和服务器端的功能,使得开发者可以...
如果将公钥复制到要访问的机器上,并保存到 ~/.ssh/authorized_keys 文件中,那么可以不需要密码使用 ssh 和 scp 进行登陆和文件传输。 使用 Expect 实现密钥对生成 Expect 是一个自动化工具,可以用于自动生成...
在本文中,我们将深入探讨如何使用pexpect模块通过SSH进行远程登录,并通过两个示例来展示其基本用法。 首先,让我们了解pexpect模块。pexpect允许Python程序启动并控制其他应用程序,尤其是那些需要用户输入的程序...
- 在自动化测试、脚本执行等场景下,pexpect可以模拟用户输入,与需要交互的程序进行对话。例如,登录SSH服务器、输入密码等操作都可以通过pexpect实现。 - `sendline`方法用于向子进程发送一行文本,`send`则用于...
Pexpect模块就是其中的一颗璀璨明珠,它专门用于启动子程序并进行自动控制,尤其在处理命令行程序如ssh、ftp、passwd、telnet等交互式任务时,表现出了卓越的能力。 Pexpect的全称是“Python Expect”,灵感来源于...
这个模块特别适用于自动化那些需要用户交互的任务,如SSH登录、FTP传输、telnet操作等。`pexpect`通过模拟键盘输入来与这些程序交互,从而实现自动化流程。 ### Pexpect的核心概念 1. **子进程**:`pexpect`的主要...
Python的pexpect模块是一个强大的自动化工具,主要用于控制和自动化交互式应用程序,比如telnet、SSH、ftp等。它的工作原理是模拟一个终端会话,能够发送输入、接收输出,并根据预期的输出进行响应,因此得名...
Pexpect can be used for automating interactive applications such as ssh, ftp, passwd, telnet, etc. It can be used to a automate setup scripts for duplicating software package installations on ...
通过安装和使用Pexpect,开发者可以编写Python程序来自动交互和控制其他程序,例如SSH登录、执行命令、接收输出等。而IPython Genutils则为IPython提供了必要的辅助功能,增强了其作为强大开发和分析平台的能力。...
最近需要远程操作一个服务器并执行该服务器上的一个python脚本,查到可以使用Pexpect这个库。记录一下。 什么是Pexpect?Pexpect能够产生子应用程序,并控制他们,并能够通过期望模式对子应用的输出做出反应。...
使用Pexpect库在Python中实现类似功能,可以编写一个脚本,模拟用户交互并发送命令到远程CMD。以下是一个简单的Pexpect示例: ```python import pexpect child = pexpect.spawn('ssh user@windows_host') child....
以下是一个使用`pexpect`实现SSH登录并执行命令的示例: ```python import pexpect def ssh_cmd(ip, passwd, cmd): ret = -1 ssh = pexpect.spawn('ssh root@{} "{}"'.format(ip, cmd)) try: i = ssh.expect(...
Python中的Pexpect模块是一个强大的工具,它允许程序员自动化与命令行接口交互的过程,尤其是涉及到SSH、FTP、TELNET等协议的场景。Pexpect基于Expect语言的概念,为Python开发者提供了便捷的方式来控制子进程,通过...
主端通常由用户界面或者一个程序如pexpect来控制,而从属端则连接到实际的命令行程序。通过这种方式,pexpect可以模拟用户输入并接收程序的输出,从而实现自动化控制。 pexpect的核心功能是启动一个子进程并监视其...
本想直接在bash文件中使用Pexpect 来实现自动输入密码,并scp拷贝文件,但是权限的限制导致不能安装使用Pexpect 。 最后考虑使用python实现。 环境: python2.7 centos from pexpect import * import os cwd = os....