几个月前,我曾经ssh-keygen
创建过id_rsa
/id_rsa.pub
用于 Github,一切顺利。 (我在本地使用 OSX Sierra,10.12.6,但我在远程的 Linux 终端上生成密钥对。我不知道 Linux 的具体风格。)
我需要为不同的存储库创建一个新的密钥对,因此我重复了该过程并创建了id_rsa_2
/ id_rsa_2.pub
。一切似乎都很顺利,但当我真正尝试获取我的公钥时,却一无所获。
所以如果我输入
cat ~/.ssh/id_rsa.pub
然后我得到了我期望的输出。
但如果我进入
cat ~/.ssh/id_rsa_2.pub
然后我什么也没得到。终端只是前进到下一行而没有任何输出。我现在已经生成了id_rsa_2
、、甚至。在每种情况下,似乎运行顺利,并在创建过程中提供所有预期的输出。我可以看到id_rsa_3
和文件准确地位于我期望的位置。(其中 n 在 {2, 3, 4, 5} 中)。id_rsa_4
id_rsa_5
ssh-keygen
id_rsa_n
id_rsa_n.pub
但每当我尝试检索公钥时,我都一无所获。
我通过 Google 找到的唯一问题是空间不足。但是,我已经确认我只使用了几个兆的用户空间(而我可用的空间远不止这些)。所以这不是空间问题。那么...为什么给ssh-keygen
我的是空白的 .pub 文件?
我正在运行的确切命令是:
ssh-keygen -t rsa -C "my email address"
答案1
事实证明,这是另一个因空间不足而导致问题的情况。由于我的主目录中没有剩余空间,因此 ssh-keygen 只能输出空文件。一旦我清理了一些空间,它就可以正常工作了。