我想运行如下命令:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
我的理解是 ssh-keygen 输出到主目录。我正在使用 Git Bash(Windows,MYSS MINGW64)在联网的计算机上工作,其中主目录是我无法访问的。我像这样更改主目录:
export HOME=C:/Users/myusername
所以现在当我输入:
echo $HOME
它说:
C:/Users/myusername
但当我再次尝试运行 ssh-keygen 命令时,它运行在无权访问的目录中。我查看了配置文件中的一些硬编码路径,但什么也没找到。我如何将其更改为指向我有权访问的目录?
答案1
您应该能够通过使用选项指定输出文件的名称来执行此操作-f
,例如,
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f $HOME/.ssh/id_rsa
当然,如果输出目录已经创建的话,它确实很有帮助。
进一步阅读:
- 教程(已经提到,但省略此信息)
- ssh-keygen 的手册页
- ssh-keygen -f 混乱(先创建目录)
- Linux / Unix ssh-keygen:创建主机密钥文件(
-f
使用示例)
答案2
在 Windows 10 上:
从接受的答案来看,$HOME 对我来说不适用于该路径,但 %userprofile% 可以:
ssh-keygen -f %userprofile%/.ssh/id_rsa
答案3
对于我来说你应该像这样使用这个选项 -f :
ssh-keygen -t rsa -b 2048 -f /home/user/project/ssh-keys/id_ras
最后 sh-keygen 在此目录中生成两个文件 private 和 public
/home/user/project/ssh-keys/id_ras
/home/user/project/ssh-keys/id_ras.pub