使用Git Bash生成SSH密钥后无法查看密钥文件的技术问询
解决SSH密钥生成后找不到.ssh目录的问题
咱们一步步排查问题所在:
先确认密钥的保存路径
你生成密钥时控制台明确提示了密钥的保存位置,仔细回忆下那段路径是什么?如果当时你在ssh-keygen命令里加了-f参数指定了自定义路径(比如ssh-keygen -f ./my_ssh_key),那密钥文件会存在你当时的工作目录里,而不是默认的~/.ssh下。你可以在Git Bash里运行ls命令,看看当前目录有没有.pub结尾的文件。检查Git Bash家目录的实际对应位置
Git Bash里的~对应Windows系统的用户目录(比如C:\Users\你的用户名),但有时候可能会因为用户身份混淆导致找不到。先在Git Bash里执行:echo ~复制输出的路径,打开Windows资源管理器粘贴到地址栏回车。记得开启显示隐藏文件(在资源管理器「查看」选项卡勾选「隐藏的项目」),看看这里有没有
.ssh文件夹。若确实无.ssh目录,重新生成密钥
要是上面的方法都没找到,不如重新生成一次,这次用默认路径:- 打开Git Bash,运行:
ssh-keygen - 当提示“Enter file in which to save the key (/c/Users/你的用户名/.ssh/id_rsa):”时,直接按回车使用默认路径
- 接下来按提示输入密码(可以留空,直接回车跳过),再次确认密码即可
- 生成完成后,再运行
ls -al ~/.ssh,就能看到id_rsa(私钥)和id_rsa.pub(公钥)文件了。
- 打开Git Bash,运行:
另外提一句,你之前尝试的ls ~/.ssh/*.sshpub命令是错误的,正确的应该是ls ~/.ssh/*.pub,不过得先确保.ssh目录存在才行。
内容的提问来源于stack exchange,提问作者ata pakzadi




