【问题标题】:opening another handler from by ssh to remote host in python在 python 中通过 ssh 打开另一个处理程序到远程主机
【发布时间】:2014-03-27 09:37:23
【问题描述】:

我有一个控制器,我使用 IP 和密码 ssh 到该控制器。一旦我进入控制器,我需要打开另一个处理程序来访问 linux 命令。要访问此处理程序,我需要以 root 身份登录并提供密码。 我将如何在 python 中使用 ssh 来做到这一点?

Login to controller as
user: root
password: root
Inside Controller 
<cntrlprompt># logas root
Password:123456
After this step it would provide bash prompt
bash# ls -al
<capture ls -al output and return to main program.

这对我来说非常具有挑战性,如有任何帮助,我将不胜感激。 谢谢

【问题讨论】:

标签: python linux login ssh


【解决方案1】:

pexpect 可能是您想要的。它是一个 python 库,允许您编写 shell 交互脚本。这是一个 example 说明匿名 ftp 会话。学习它并构建您自己的交互场景应该相当容易。

【讨论】:

  • 如果我正在运行命令并从该命令获得大量输出,pexpect 是否能够处理它?我如何处理该输出并对其进行解析。输出量真的很大吗?
  • 您可以通过 pexpect 访问命令输出。处理或解析它,取决于你。
  • 我在 python 中使用 pexpect 从 apache httpd 生成 ssh 时遇到问题?单独执行 python 可以正常工作,但不能通过 apache。
  • 所以如果我理解正确的话,你试图想出的脚本是你将通过 apache 访问的 web 服务的一些后端?如果是,那将是一个不同的问题,您可能需要添加更多关于您如何让 apache 执行 python 脚本的详细信息:mod_python、wsgi、plain cgi 等,以及一些日志或错误消息(如果有)。跨度>
  • 我正在执行此脚本,只需将其保存在 /var/www/cgi-bin 文件夹中即可。将其称为localhost/cgi-bin/test1.pyplain cgi> 来自脚本的格式错误的标头。错误的 header=name 'child' 未定义:test1.py,child 是生成会话的处理程序
猜你喜欢
  • 1970-01-01
  • 2021-06-09
  • 2013-10-31
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多