在SourceTree中,我使用OpenSSH作为身份验证,并在Windows上创建并添加了SSH密钥,如下所示:

  • ssh-keygen -t rsa -C "my@email.com"(以及输入的文件名,密码等)
  • 将密钥添加到SSH代理:eval "$(ssh-agent)"ssh-add id_rsa
  • 使用以下命令将SSH密钥添加到GitLabcat id_rsa.pub打印我的公钥
  • 通过“工具>添加SSH密钥”和密码(“工具>选项> SSH客户端配置”,我选择了OpenSSH)将公用密钥添加到SourceTree。

  • 完成这些步骤后,我就可以推送和提取代码。
    但是,每次重新启动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。)

    08-27 17:19
    查看更多