gpt4 book ai didi

Python + pexpect - 如何建立 ssh 连接?

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:08 25 4
gpt4 key购买 nike

我一直在尝试通过 Python + pexpect 建立 ssh 连接,但我无法发送我想要的行。

我认为这肯定是一个语法问题,但我不知道它发生在哪里。

#! /usr/bin/python # -*- encoding: utf-8 -*-
import re
import pexpect
import sys



child = pexpect.spawn ("gnome-terminal -e 'bash -c \"ssh -X user@localhost; exec bash\"'")
child.expect ("user@localhost\"''s password.*:\"'")
child.sendline ('xxyyzz')

print "OK"

问题是密码 'xxyyzz' 从未出现在终端上,所以我认为 child.sendline 不起作用并且是语法问题。

最佳答案

您在这里将输入传递给 gnome-terminal 进程。那行不通,因为它是 ssh(从技术上讲,bash,但 bash 的 stdin 也是 ssh 的) 需要该输入,而不是 gnome-terminal


无论如何,您可能很难让它可靠地工作。您可能应该考虑使用 Python SSH 库。

好的选择包括:

  • Paramiko - 低级 Python SSH 库
  • Fabric - 更高级别的库(在引擎盖下使用 Paramiko)

关于Python + pexpect - 如何建立 ssh 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28046781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com