11

我想更改 RSA 密钥以毫无问题地打开 ssh 连接。如果我使用本教程但我想在 bash 脚本中完成它,它工作正常。不幸的是,我被要求输入密码(我不想输入任何内容)。当脚本到达这一点时,如何实现自动Enter连续按三下?

这个线程没有帮助,因为我不允许在我的工作 PC 上安装新程序,而且这个echo | command技巧似乎只适用于一个Enter. 我还需要输入“n”,并且Enter如果该过程已经完成,则不要覆盖任何文件。我如何做到这一点?

4

2 回答 2

29

如果你只需要按Enter很多次就可以了:

yes "" | command

对于比您可能想要使用expect的其他线程中建议的更复杂的东西,您可以在没有 root 权限的情况下将其安装在您的 homedir 中。

PS:请避免将来重新发布问题。如果您出于某种原因不喜欢某个答案,请发表评论。

于 2012-06-25T14:28:19.197 回答
4

如果您只想在 bash 脚本中创建 ssh 密钥而不需要任何用户输入,您可以指定以下参数ssh-keygen

# rsa type (default), no passphrase, write to file id_rsa and id_rsa.pub
captain:~> ssh-keygen -t rsa -N "" -f id_rsa
Generating public/private rsa key pair.
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
fe:4a:82:08:0e:ab:b7:02:62:11:4d:3e:79:a4:d3:98 mrb@captain.local
于 2012-06-25T14:34:12.413 回答