自动执行ssh-keygen -t rsa,这样就不需要密码

我需要使用密码自动执行ssh-keygen -t rsa,即在提示符处input。 我怎么能从一个shell脚本做到这一点?

谢谢

要生成SSH密钥对而不提示input密码,可以执行以下操作:

$ ssh-keygen -f id_rsa -t rsa -N '' 
 $ ssh-keygen -f $HOME/.ssh/id_rsa -t rsa -N '' 

如果您需要在Windows中使用PowerShell来执行此操作,请执行以下操作:

 ssh-keygen -f $Name -t rsa -N "''" 

注意你也必须确保git bin目录在你的path中:

 $sshPath = "<path>\git\bin\" $env:path += ";$sshPath" 

然后在PoshGit中使用它只是:

 Add-SshKey "<path>\.shh\KeyFilename" 

只是更正回答2 …我发现我的OL和RHEL系统的文件名应该是id_rsa而不是id.rsa。

因此,在OL或RHEL系统上,命令将是:

 $ ssh-keygen -f id_rsa -t rsa -N '' 

我需要在bash脚本中自动执行ssh-keygen命令以及对我来说很好的最终答案:

 echo -e "\n" | ssh-keygen -N "" &> /dev/null 

带-e的echo命令将“\ n”解释为Enter键,但不能与密码一起使用。 然后使用选项-N“”(空密码)密码将是空的,不会要求任何东西。 &> / dev / null会将“stdout”和“stderr”发送到/ dev / null,因此不会在显示屏上打印任何内容。

 $ printf '\n' | ssh-keygen -N ''