这是我的代码:
ssh-keygen -t rsa -C "$APP"
这很完美。但是它随后要求我指定位置和密码。我希望可以一次性自动完成所有操作,但是这个命令失败了:
ssh-keygen -t rsa -C "$APP" -P "$SSHKEYPASS" -T ~/.ssh/id_rsa.pub
但是,当我在同一行中指定密钥和位置所需的密码时,此命令似乎失败了。我不太理解手册页:
http://linux.die.net/man/1/ssh-keygen
谁能告诉我我哪里做错了?
答案1
我试了一下,罪犯似乎使用 -T 标志作为输出文件路径/名称。如果你用 -f 替换它,它就会奏效(这里是在 ubuntu 14.04 上)
ssh-keygen -t rsa -C "$APP" -P "$SSHKEYPASS" -f ~/.ssh/id_rsa.pub
刚才还在手册页中注意到,-P
您用于密码的标志被定义为“旧密码”,并且有一个开关-N
可以指定“新密码”。但是,这两个命令都可以成功执行,这里有人知道这是怎么回事吗?
请注意,我还没有测试以这种方式生成的密钥。