在尝试为项目目录中的项目创建 rsa 密钥对时,我正在尝试使用ssh-keygen
选项-f
。当我在新创建的目录中测试它时,一切都按预期工作,但当我尝试在另一个具有同样权限的目录中使用完全相同的语法时,它ssh-keygen
总是告诉我No such file or directory.
从某种程度上来说,这样说是正确的,因为它应该创建这些文件。(它应该工作的目录是存在的。)
我用于创建密钥的语法是:
ssh-keygen -q -t rsa -f /abspath/id_rsa -N ""
答案1
除非我指定一个实际上不存在的目录,否则我无法重现此问题。我建议您查看您尝试创建密钥对的位置,确保该目录存在。
答案2
首先,您需要创建一个目录来存储您的主机密钥文件:
$ mkdir -p $HOME/.ssh/mykey
其次,根据密钥类型,您可以在其中创建主机密钥文件$HOME/.ssh/mykey
:(选择一个)
$ ssh-keygen -t rsa -f $HOME/.ssh/mykey/rsa_key_file
或者
$ ssh-keygen -t dsa -f $HOME/.ssh/mykey/dsa_key_file
或者
$ ssh-keygen -t ecdsa -f $HOME/.ssh/mykey/ecdsa_key_file
或者
ssh-keygen -t ed25519 -f $HOME/.ssh/mykey/ed25519_key_file
最后,验证密钥是否生成成功:
$ ls -l $HOME/.ssh/mykey/