Python - 运行命令,然后在自动提示时输入

时间:2012-11-29 15:46:09

标签: python ssh-keys

作为更大脚本的一部分,我正在运行ssh-keygen来生成RSA公钥。我不打算使用密码短语或更改默认文件夹位置。但是,我仍然需要处理来自ssh-keygen的提示,以获取文件名和密码。如何使用ssh-keygen或脚本中的选项来避免必须处理这些提示?

2 个答案:

答案 0 :(得分:2)

您可以将它们作为参数传递,以避免任何输入:

ssh-keygen -q -N '' -C 'generated key' -t rsa -f /path/to/key

答案 1 :(得分:1)

一般来说,这些问题可以通过pexpect来解决:http://www.noah.org/python/pexpect/#doc这是期望的Python包装器。它允许您等待打印某个字符串,然后通过发送响应来做出反应,就像它在终端中输入一样。