使用 SSH 密钥登录在 Git Bash 上不起作用,但在 Windows 命令提示符下有效



我正在按照本教程设置我的第一个DigitalOcean液滴,我刚刚为公钥身份验证生成了一个密钥对。在使用ssh-copy-id(来自Git Bash,因为该命令在命令提示符中不可用(将密钥添加到我的Droplet后,我可以通过命令提示符将SSH连接到我的液滴中。

然而,当我尝试从Git Bash进行SSH时,它仍然会提示我输入密码!我已经检查过了,SSH密钥存在于我的Droplet和我的计算机上。怎么了?

您可以通过运行ssh-add path-to-private-key加载密钥

ssh-add /Users/ben/id_rsa

预定义路径为UserHome -> .ssh -> private-key & public-key

/c/Users/USERNAME/.ssh/id_rsa
/c/Users/USERNAME/.ssh/id_rsa.pub

文件的名称和位置都有限制。以下是SSH代理将查找的已知文件名,我可以在脑海中思考:

  • 身份
  • id_dsa
  • id_rsa

这些名称通常由您用来生成它们的类型决定。最常用的是rsa,它创建id_rsaid_rsa.pub

此外,大多数Windows用户使用Putty作为SSH守护进程。它运行得很好。最好的一点是,它有GUI来设置特定的私钥,这样它每次都可以加载私钥,而不必执行任何上述操作。

相关内容