使用 SSH 密钥登录在 Git Bash 上不起作用,但在 Windows 命令提示符下起作用
Logging in with an SSH key doesn't work on Git Bash but does in Windows Command Prompt
我正在按照 this tutorial 设置我的第一个 DigitalOcean droplet,我刚刚为 Public 密钥身份验证生成了一个密钥对。使用 ssh-copy-id
(来自 Git Bash,因为该命令在命令提示符中不可用)将密钥添加到我的 Droplet 后,我可以从命令提示符通过 SSH 进入我的 Droplet .
但是,当我尝试从 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
这些名称通常由您用来生成它们的 Type 决定。最常用的是 rsa,它创建 id_rsa 和 id_rsa.pub.
此外,大多数 Windows 用户使用 Putty 作为 SSH 守护进程。它工作得很好。最好的事情是它有 GUI 来设置特定的私钥,因此它每次都加载它而无需执行上述任何操作。
我正在按照 this tutorial 设置我的第一个 DigitalOcean droplet,我刚刚为 Public 密钥身份验证生成了一个密钥对。使用 ssh-copy-id
(来自 Git Bash,因为该命令在命令提示符中不可用)将密钥添加到我的 Droplet 后,我可以从命令提示符通过 SSH 进入我的 Droplet .
但是,当我尝试从 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
这些名称通常由您用来生成它们的 Type 决定。最常用的是 rsa,它创建 id_rsa 和 id_rsa.pub.
此外,大多数 Windows 用户使用 Putty 作为 SSH 守护进程。它工作得很好。最好的事情是它有 GUI 来设置特定的私钥,因此它每次都加载它而无需执行上述任何操作。