使用 git 的 start-ssh-agent 的原始答案
确保你已经安装了 Git 并且cmd
在你的 PATH 中有 git 的文件夹。例如,在我的计算机上 git 的 cmd 文件夹的路径是C:\Program Files\Git\cmd
确保您的id_rsa
文件在文件夹中c:\users\yourusername\.ssh
如果您还没有重新启动命令提示符,然后运行start-ssh-agent
. 它会找到您id_rsa
并提示您输入密码
2019 年更新 - 如果您使用的是 Windows 10,这是一个更好的解决方案: OpenSSH 可作为 Windows 10 的一部分使用,我认为这使得从 cmd/powershell 使用 SSH 变得更加容易。与我之前的解决方案不同,它也不依赖于安装 git。
从开始菜单打开Manage optional features
并确保您Open SSH Client
在列表中。如果没有,您应该可以添加它。
Services
从开始菜单打开
向下滚动到OpenSSH Authentication Agent
> 右键单击 > 属性
将启动类型从禁用更改为其他 3 个选项中的任何一个。我的设置为Automatic (Delayed Start)
打开 cmd 并键入where ssh
以确认顶部列出的路径在 System32 中。我的安装在C:\Windows\System32\OpenSSH\ssh.exe
. 如果它不在列表中,您可能需要关闭并重新打开 cmd。
完成这些步骤后,ssh-agent、ssh-add 和所有其他 ssh 命令现在应该可以在 cmd 中运行。要启动代理,您只需键入ssh-agent
.
- 可选步骤/故障排除:如果您使用 git,您应该将
GIT_SSH
环境变量设置为where ssh
您之前运行的输出(例如C:\Windows\System32\OpenSSH\ssh.exe
)。这是为了阻止您使用的 ssh 版本(以及添加/生成的密钥)与 git 内部使用的版本之间的不一致。这应该可以防止与此类似的问题
关于这个解决方案的一些好处:
- 每次重新启动计算机时都不需要启动 ssh-agent
- 您添加的身份(使用 ssh-add)将在重新启动后自动添加。(它适用于我,但您可能需要在您的 c:\Users\User\.ssh 文件夹中有一个配置文件)
- 你不需要 git!
- 您可以向代理注册任何 rsa 私钥。另一种解决方案只会选择一个名为
id_rsa
希望这可以帮助