我想写一个脚本,自动生成秘钥。如下:但写的一直有问题。不知道哪里出了问题。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pexpect
def run_add():
try:
child=pexpect.spawn('ssh-keygen -t rsa',timeout=5)
child.expect("Enter file in which to save the key (/root/.ssh/id_rsa): ")
child.sendline('\n')
child.expect("Enter passphrase (empty for no passphrase): ")
child.sendline('\n')
child.expect("Enter same passphrase again: ")
child.sendline('\n')
except pexpect.EOF:
print "EOF"
except pexpect.TIMEOUT:
print "TIMEOUT"
python pexpect 模块问题
答案:2 悬赏:0 手机版
解决时间 2021-03-10 13:33
- 提问者网友:风月客
- 2021-03-10 10:29
最佳答案
- 五星知识达人网友:长青诗
- 2021-03-10 11:54
ssh-keygen -f id_rsa -t rsa -N ''
直接执行这个bash命令就可以了,不用python脚本
直接执行这个bash命令就可以了,不用python脚本
全部回答
- 1楼网友:罪歌
- 2021-03-10 13:02
亲 不清楚你为什么匹配两次y/n
我给你个例子说明expect的用法
例如我ssh连接一台服务器
连接之后会有提示,此时我们可以使用expect
ssh.expect('continue connecting (yes/no)?')
之前的字符应该自动正则了
expect之后我们就可以根据提示输入要输入的信息
ssh.sendline('yes\n')
哦shit 我发现个问题 你是不是应该试试crt.sendline('y\n')
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯