我在 Windows PC 上安装了 mysysgit 和 TortoiseGit,它连接到 Linux 机器上的远程 Git 存储库。我已经创建了 ssh 密钥,并将它们添加到 TortoiseGit 的配置文件中。当我与 TortoiseGit 中的远程仓库交互时,一切正常。没有密码提示。但是,当我尝试从命令行运行 Git 命令时,系统会提示我输入 SSH 密码。
我需要做什么才能不提示我从命令行输入密码?
确保您的 git 会话引用TortoisePLink.exe
(在 GIT_SSH 环境变量中),如“ Why git can't remember my passphrase under Windows ”中所述:
(您可能已经完成了前两个步骤)
pageant.exe
使用puttygen.exe
。pageant.exe
,打开您的.ppk
文件(“添加密钥”),并为您的密钥提供密码。添加环境变量:
GIT_SSH=C:\full\path\to\TortoisePlink.exe
这假设您的TortoiseGit 正在使用TortoisePlink.exe
.
OP scott80109在评论中总结:
安装了 msysgit 以使用 Open SSH。
我将其更改为使用plink
,现在它可以在没有提示的情况下工作
Erez A. Korn在评论中补充道:
我更喜欢使用 openssh,因为它不需要我拥有替代格式 (ppk) 的密钥。
我编写了一个小包装器来启动ssh-agent
和处理业务,然后将其添加到我的 Windows 启动中。
您可以在 中检查代码erezak/ssh-agent-wrapper-win
。
我建议使用选美。阅读此http://guides.beanstalkapp.com/version-control/git-on-windows.html并将您的 ssh-key 添加到选美。它影响全球。
我的用例需要多个具有密码保护 ssh 密钥的 github 用户。
我对~.ssh/config
文件进行了排序,以对不同的 repo 域使用不同的密钥,如此处所述
但是,我不想每次都输入密码,也不想使用 ssh-agent。
以下是我如何设置 Pageant 以在 Windows 登录时询问并记住我的密码:
C:\putty\PAGEANT.EXE plato_cambrian.ppk plato.ppk
”此外,对于最终来到这里的 ubuntu/linux mint 上的任何人,我在此处记录了类似的步骤