- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试构建一个 python 脚本来检查思科设备上的用户名、密码和启用密码。
该脚本明确登录到设备,但正在尝试设置和取消设置 shell 提示符。我应该只使用标准 pexpect 而不是 pxssh 吗?我也尝试过这个,但是“if”语句似乎不能很好地与expect配合使用。任何建议都会有很大帮助。
Exception:
could not set shell prompt
unset PROMPT_COMMAND
^
% Invalid input detected at '^' marker.
3750_core#PS1='[PEXPECT]\$ '
3750_core#set prompt='[PEXPECT]\$ '
^
% Invalid input detected at '^' marker.
代码:
def check_creds(host, user, password, en_passwd):
global success
global failure
try:
ssh = pxssh.pxssh()
ssh.login(host, user, password, en_passwd)
if ssh.prompt(PRIV_EXEC_MODE):
print 'privilege mode creds work'
ssh.logout()
success = True
if ssh.prompt(USER_EXEC_MODE):
print('username and password are correct')
ssh.sendline('enable')
ssh.sendline(en_passwd)
if ssh.prompt(PRIV_EXEC_MODE):
print 'enable password is correct'
ssh.logout()
success = True
else:
print 'enable password is incorrect'
ssh.logout()
failure = True
except pxssh.ExceptionPxssh, fail:
print str(fail)
failure = True
exit(0)
最佳答案
是的,模块错误。我找到了使用 pexpect 和 if 语句的正确方法。
def check_creds(host, user, passwd, en_passwd):
ssh_newkey = 'Are you sure you want to continue connecting (yes/no)?'
constr = 'ssh ' + user + '@' + host
ssh = pexpect.spawn(constr)
ret = ssh.expect([pexpect.TIMEOUT, ssh_newkey, '[P|p]assword:'])
if ret == 0:
print '[-] Error Connecting to ' + host
return
if ret == 1:
ssh.sendline('yes')
ret = ssh.expect([pexpect.TIMEOUT, '[P|p]assword:'])
if ret == 0:
print '[-] Could not accept new key from ' + host
return
ssh.sendline(passwd)
auth = ssh.expect(['[P|p]assword:', '>', '#'])
if auth == 0:
print 'User password is incorrect'
return
if auth == 1:
print('username and password are correct')
ssh.sendline('enable')
ssh.sendline(en_passwd)
enable = ssh.expect(['[P|p]assword:', '#'])
if enable == 0:
print 'enable password is incorrect'
return
if enable == 1:
print 'enable password is correct'
return
if auth == 2:
print 'privilege mode creds work'
return
else:
print 'creds are incorrect'
return
关于python - 我使用了错误的模块吗? pxssh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21662113/
我正在尝试使用 pexpect 模块 pxssh 登录我的一台服务器。我收到密码被拒绝。我想我知道问题是什么,但不知道如何解决。问题是,当我登录服务器时有一个欢迎横幅(无法更改横幅)并且预期会感到困惑
我正在尝试构建一个 python 脚本来检查思科设备上的用户名、密码和启用密码。 该脚本明确登录到设备,但正在尝试设置和取消设置 shell 提示符。我应该只使用标准 pexpect 而不是 pxss
我收到错误消息 module not found for pxssh。 我正在运行 ubuntu 16.04 和 Python 2.7.12,预期为 4.0.1-1。 import pxssh Imp
发生登录失败时,我无法阻止 GUI 的生成。 失败并生成 GUI 的简单示例。 >>> import pxssh >>> >>> ssh = pxssh.pxssh() >>> ssh.force_p
我使用 pexpect 模块登录 ssh 服务器,然后 mkdir 一个目录: from pexpect import pxssh s = pxssh.pxssh() s.login(server='
我正在使用 pxssh 进行简单的 ssh 登录。跟随 T.J.食谱中的康纳脚本。 从 python 解释器尝试时,我能够使用 pxssh 成功进入远程机器并传递命令。 下面是 View 。 >>>
我需要使用 pxssh 在一个脚本中做不止一个连接。尝试这样做: import pxssh ip = 'ip' username = 'username' password = 'password'
我在使用 pxssh 模块时遇到问题。我的代码如下: try: ssh_handle = pxssh.pxssh(timeout=None) ssh_handl
我对 python 很陌生,我正在尝试创建一个简单的 ssh session 并运行一个简单的命令。我知道我可以使用“paramiko”,但我决定使用 pexpect/pxssh 并且安装了最后一个版
我目前正在使用 Python 的 pxssh,它的工作方式就像一个魅力,但它似乎不处理管道 (|) 命令 - 它将它们解释为单独的命令。 目前我有以下内容: s = pxssh.pxssh() s.l
在我的 python 脚本中,我需要通过 SSH 执行一个命令,该命令也采用heredoc作为参数。该命令调用一个交互式脚本,也可以按如下方式调用: dbscontrol << EOI HELP QU
这是我要运行的代码: from pexpect import pxssh s = pxssh.pxssh() if not s.login ('myip', 'myusername', 'mypass
我正在尝试使用 pxssh 模块与客户端建立 SSH 连接 - 但是我得到: ImportError: No module named pxssh 我在 Python 安装中找到了这个文件,所以我猜是
在详细介绍之前,我已经尝试过 this question 中的解决方案但没有成功。 我正在尝试使用 pexpect 中的 pxssh 模块通过 SSH 连接到远程系统并收集正常运行时间数据。但是,每当
嗨,我正在尝试自动从 ruckless 无线路由器获取一些数据。 我使用了以下代码 import pxssh s = pxssh.pxssh() s.login('192.168.2.100',
所以我尝试了几个模块,包括 pxssh、pexpect 等,但我似乎无法与我们的 ssh 代理建立 ssh 连接。基本上我想做的是使用我们的 SSH 代理,它可以访问我们其余的设备作为到其他设备的跳转
我正在尝试运行 Violent Python 第 2 章中通过 Pexpect 与 SSH 交互 和使用 Pxssh 强制 SSH 密码 部分中的代码.同时使用 child.expect() 和 px
我正在尝试通过 python 连接 SSH。我尝试使用不同的方法来消除错误,但仍在努力消除错误。这是我的代码: 1) import pxssh import getpass def get
我正在尝试使用使用 pxssh 模块的 python 脚本在远程机器上执行 ssh。 以下是我使用的相同代码行: s = pxssh.pxssh() s.login (hostip,'
我正在尝试运行一个 python 脚本,该脚本从 linux 机器通过 ssh 连接到 windows 服务器并运行一个批处理文件。 经过一些研究,我意识到来自 pexpect 的 pxssh 类是一
我是一名优秀的程序员,十分优秀!