在SourceTree中,我使用OpenSSH作为身份验证,并在Windows上创建并添加了SSH密钥,如下所示:
ssh-keygen -t rsa -C "my@email.com"
(以及输入的文件名,密码等)eval "$(ssh-agent)"
ssh-add id_rsa
cat id_rsa.pub
打印我的公钥完成这些步骤后,我就可以推送和提取代码。
但是,每次重新启动SourceTree时,都会弹出一个终端,并且我必须再次重新输入密码*。如何使SourceTree / SSH代理记住该密码?
ps。我的密钥保存在/ d / MyName / Gitlab /之类的目录中,而不是保存在〜/ .ssh /目录中,但这不应该是问题,对吗?
编辑:
*终端显示的信息:
SourceTree is loading your SSH key into the agent for authentication Please enter your passphrase if prompted to do so Enter passphrase for D:\MyName\GitLab\.ssh\id_rsa:
编辑2:This solution也不能解决我的问题:
最佳答案
您手动启动代理并设置环境变量,以便命令找到它。
每当您启动没有设置这些环境变量的命令(如SourceTree)时,该命令就无法访问代理,因此要求您输入密码。
使您的代理在系统启动时启动就可以解决问题。
如果ssh无法到达代理,如果您将密钥放在那里,它也会查看~/.ssh/
,它也应该起作用。 (看看man ssh
。)