【发布时间】:2012-11-17 17:46:08
【问题描述】:
作为更大脚本的一部分,我正在运行 ssh-keygen 来生成 RSA 公钥。我不打算使用密码或更改默认文件夹位置。但是,我仍然需要处理来自ssh-keygen 的文件名和密码提示。我怎样才能避免不得不处理这些提示,无论是使用ssh-keygen 的选项还是在脚本中?
【问题讨论】:
作为更大脚本的一部分,我正在运行 ssh-keygen 来生成 RSA 公钥。我不打算使用密码或更改默认文件夹位置。但是,我仍然需要处理来自ssh-keygen 的文件名和密码提示。我怎样才能避免不得不处理这些提示,无论是使用ssh-keygen 的选项还是在脚本中?
【问题讨论】:
您可以将它们作为参数传递以避免需要任何输入:
ssh-keygen -q -N '' -C 'generated key' -t rsa -f /path/to/key
【讨论】:
一般来说,这些问题可以用 pexpect:http://www.noah.org/python/pexpect/#doc 来解决,它是 Python 的 expect 包装器。它让您等待某个字符串被打印出来,然后通过发送响应来做出反应,就像在终端中输入一样。
【讨论】: