我需要使用密码自动执行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 = “
然后在PoshGit中使用它只是:
Add-SshKey “
只是更正回答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 ‘’