为生成ssh密钥的bash脚本自动"输入"按键

Sła*_*osz 98 bash

我想创建脚本,它只是运行ssh-keygen -t rsa.但如何传递给它3次进入?

Rud*_*udu 212

尝试:

ssh-keygen -t rsa -N "" -f my.key
Run Code Online (Sandbox Code Playgroud)

-N "" 告诉它使用空密码(与交互式脚本中的两个输入相同)

-f my.key告诉它存储密钥my.key(根据需要改变).

整个过程运行时无需提供任何输入键:)

要发送进入交互式脚本:

echo -e "\n\n\n" | ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)

  • 我建议使用`yes'"`而不是`echo -e"\n \n \n"`(`yes`输出无限的任何参数[或默认情况下为"y"] - 适用于这些情况一个人只想为程序提示的任何内容提供"是"答案.`yes`更短,并且`ssh-keygen`应该添加一个问题,也会自动回答.:) (12认同)
  • 这是正确的anwser,但我仍然想知道如何按下输入多次 - 在另一个脚本中. (4认同)
  • "是"y"| ssh-keygen ...`是正确的答案. (4认同)
  • 当然 - 更新了答案,包括如何将新行发送到脚本. (3认同)
  • echo -e"\n \n \n"| sshkeygen -t rsa对我不起作用,你能亲自试试吗?它只通过第一次进入.但在其他简单的脚本上它可以工作. (2认同)

Mic*_*rro 20

带密码的版本是:

$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q 
Run Code Online (Sandbox Code Playgroud)
  • -q用于沉默

来源是http://linux.die.net/man/1/ssh-keygen

  • 使用-P作为现有密码,使用-N表示新密码 (4认同)