我刚刚开始使用 git,但我无法记住我的密码我正在使用提升的 cmd.exe,我的 git 主机是 github,我已经创建了一个 ssh 密钥,就像 github 上的指南一样
但我仍然得到
*\subnus.mvc>git push origin master Enter passphrase for key '/c/Users/Subnus/.ssh/id_rsa':
我意识到这个问题是在两年前提出的,但我遇到了同样的问题,这里的几个答案并没有完全回答我的问题。以下是三个分步解决方案,具体取决于您是否使用 TortoiseGit 和 msysgit。
第一个解决方案 假设 Windows、msysgit 和 PuTTY。
按照说明安装 msysgit 和 PuTTY。
(可选)将 PuTTY 添加到您的路径。 (如果您不这样做,那么下面对 PuTTY 命令的任何引用都必须以相应可执行文件的完整路径为前缀。)
如果您还没有这样做,请按照 GitHub 或您的 Git 主机的说明生成密钥哈希。
同样,如果您还没有这样做,请使用 puttygen.exe 转换您的密钥以与 PuTTY 的 pageant.exe 一起使用。说明在 PuTTY 的文档、这个有用的指南以及网络空间的其他几个地方。
运行 PuTTY 的 pageant.exe ,打开您的 .ppk 文件(“添加密钥”),并为您的密钥提供密码。
访问 Windows 的环境变量对话框(右键单击“计算机”,单击“属性”,单击“高级系统设置”或“高级”选项卡,单击“环境变量”)。添加以下环境变量:
GIT_SSH=C:\full\path\to\plink.exe
将 “C:\full\path\to” 替换为 PuTTY 的完整安装路径,其中找到 plink.exe。最好将其添加到“用户变量”部分。此外,请确保您用于 plink.exe 的路径与您用于 Pageant (pageant.exe) 的路径相匹配。在某些情况下,您可能安装了多个 PuTTY,因为它可能与其他应用程序一起安装。使用一个安装中的 plink.exe 和另一个安装中的 pageant.exe 可能会给您带来麻烦。
打开命令提示符。
如果您尝试连接到托管在 Github.com 的 git 存储库,请运行以下命令:
plink.exe git@github.com
如果您尝试连接的 git 存储库托管在其他地方,则将 git@github.com 替换为适当的用户名和 URL。(假设 Github)你应该被告知服务器的主机密钥没有被缓存,并询问你是否信任它。回答 y 。这会将服务器的主机密钥添加到 PuTTY 的已知主机列表中。如果没有这一步,git 命令将无法正常工作。按回车后,Github 会通知您 Github 不提供 shell 访问。没关系……我们不需要它。(如果您正在连接到其他主机,并且它为您提供了 shell 访问权限,那么最好终止链接而不做任何其他事情。)
第二种解决方案 假设 Windows、msysgit 和 TortoiseGit。
TortoiseGit 带有 PuTTY 可执行文件和经过特殊修改的 plink 版本(称为 TortoisePlink.exe),这将使事情变得更容易。
按照说明安装 msysgit 和 TortoiseGit。
同样,如果您还没有这样做,请使用 TortoiseGit 的 puttygen.exe 转换您的密钥以与 TortoiseGit 的 pageant.exe 一起使用。说明在 PuTTY 的文档、第一个解决方案中链接的有用指南以及网络空间的其他几个地方。
运行 TortoiseGit 的 pageant.exe ,打开您的 .ppk 文件(“添加密钥”)并为您的密钥提供密码。
GIT_SSH=C:\full\path\to\TortoisePlink.exe
将 “C:\full\path\to” 替换为 TortoiseGit 的完整安装路径,在该路径中找到 TortoisePlink.exe。最好将其添加到“用户变量”部分。此外,请确保您用于 TortoisePlink.exe 的路径与您用于 Pageant (pageant.exe) 的路径相匹配。在某些情况下,您可能安装了多个 PuTTY,因为它可能与其他应用程序一起安装。使用 TortoiseGit 安装中的 TortoisePlink.exe 和不同应用程序的另一个安装(或独立 PuTTY 安装)中的 pageant.exe 可能会给您带来麻烦。
您可能希望 pageant.exe在启动时自动加载您的 .ppk 文件,具体取决于您需要它的频率。
第三种解决方案 假定 Windows、msysgit 和本机命令提示符。
start-ssh-agent