【问题标题】:How to run command within an interactive shell via python (boto for AWS) [duplicate]如何通过python在交互式shell中运行命令(AWS的boto)[重复]
【发布时间】:2016-02-23 05:23:12
【问题描述】:

我正在尝试通过 python boto ssh 模块(使用 paramiko 包)中的 ssh 对 AWS EC2 实例远程运行一些命令。我正在使用 boto.manage.cmdshell.sshclient_from_instance.run 工作正常,但问题是 .run 无法远程执行 sudo 命令。我收到此错误消息:

sudo: sorry, you must have a tty to run sudo  

我知道我可以手动登录和编辑权限来解决这个问题,但我希望这部分也能自动化。我可以使用 .shell 启动交互式 shell,但有没有办法使用 python 在交互式 shell 中自动执行命令?

【问题讨论】:

    标签: python shell amazon-web-services ssh


    【解决方案1】:

    我最终通过使用 .run_pty 修复它,然后将 sudoers 文件编辑为不需要。之后我只使用 sudo 和 .run

    【讨论】:

      【解决方案2】:

      您应该改用boto.manage.cmdshell.SSHClient.run_pty(command)。它将请求一个伪终端并执行命令。

      查看帖子How does paramiko Channel.recv() exactly work?,了解如何读取标准输出。

      【讨论】:

      猜你喜欢
      • 2013-01-05
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      • 2012-10-23
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      相关资源
      最近更新 更多