运行 通过 pxssh 执行 sudo 命令
Running sudo commands through pxssh
我正在使用 pxssh 模块通过 ssh 连接到远程服务器。我使用以下函数发送命令
def send_command(session , cmd):
session.sendline(cmd)
session.prompt()
return session.before
这非常适用于 ls
、 pwd
等命令
问题:
当我输入请求身份验证或用户输入(如 sudo
、vim
)的命令时,程序挂起并且 returns 什么也没有。我们如何解决这个问题?
您不能将 send_command()
用于需要用户交互的命令,例如提供密码。
session.sendline(cmd) # program started
# put here user interaction
# ... expect('(?i)password:'); sendline(passwd) ...
session.prompt() # program ended (the shell prompt is shown)
我正在使用 pxssh 模块通过 ssh 连接到远程服务器。我使用以下函数发送命令
def send_command(session , cmd):
session.sendline(cmd)
session.prompt()
return session.before
这非常适用于 ls
、 pwd
等命令
问题:
当我输入请求身份验证或用户输入(如 sudo
、vim
)的命令时,程序挂起并且 returns 什么也没有。我们如何解决这个问题?
您不能将 send_command()
用于需要用户交互的命令,例如提供密码。
session.sendline(cmd) # program started
# put here user interaction
# ... expect('(?i)password:'); sendline(passwd) ...
session.prompt() # program ended (the shell prompt is shown)