Python 的 pexpect 模块的问题

2019-01-22 17:52:48 +08:00
 mikefy

使用这个模块进行 scp 命令的时候, 因为 ip 不在已知的主机列表中, 所以有一个需要输入 yes/no 的动作,

The authenticity of host 'X.X.X.X (X.X.X.X)' can't be established.

ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.

ECDSA key fingerprint is MD5:67:2a:d8:dc:13:9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.

Are you sure you want to continue connecting (yes/no)?

我的判断是: i = child.expect(['denied', 'yes/no', 'assword', '100%'], timeout=10)

但是每次这里的检测都过不去, 不知道为什么

pexpect.exceptions.TIMEOUT: Timeout exceeded.

<pexpect.pty_spawn.spawn object at 0x7f22d181ecd0>

command: /usr/bin/scp

args: ['/usr/bin/scp', '/root/.ssh/id_rsa.pub', 'root@x.x.x.x:/root/.ssh/authorized_keys']

buffer (last 100 chars): ')? '

before (last 100 chars): ')? '

after: <class 'pexpect.exceptions.TIMEOUT'>

match: None

match_index: None

exitstatus: None

flag_eof: False

pid: 11859

child_fd: 5

closed: False

timeout: 30

delimiter: <class 'pexpect.exceptions.EOF'>

logfile: None

logfile_read: None

logfile_send: None

maxread: 2000

ignorecase: False

searchwindowsize: None

delaybeforesend: 0.05

delayafterclose: 0.1

delayafterterminate: 0.1

searcher: searcher_re:

0: EOF

1626 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX