版本:Unity 6(6000.0)
语言:英语
使用含密码 SSH 密钥与 SSH Git URL
在 Windows 上自动加载 SSH 密钥(PuTTY)

在 Windows 上自动加载 SSH 密钥(OpenSSH)

如果您使用 Windows 及其内置的 OpenSSH 客户端,请按照以下步骤配置 OpenSSH 客户端以便在不出现提示的情况下使用您含密码的 SSH 密钥。

必需条件

  • Windows 10 或更高版本。

开始之前

检查是否存在任何现有 SSH 密钥。请参阅 GitHub 文档文章,检查现有 SSH 密钥

如果没有 SSH 密钥

  1. 按照 GitHub 文档文章生成新的 SSH 密钥创建一个密钥。
  2. 按照 GitHub 文档文章将新的 SSH 密钥添加到 GitHub 帐户,将新 SSH 密钥添加到 GitHub 帐户。

过程

  1. 检查 C:\Users\<YourUserName>\.ssh\config 是否存在。注意:在某些应用程序(如 Git Bash)中,.ssh 是一个隐藏的子目录。

  2. 如果 C:\Users\<YourUserName>\.ssh\config 不存在,请创建它。

  3. C:\Users\<YourUserName>\.ssh\config 中添加以下内容,以将密钥设置为在验证代理中加载,并指定目标服务器使用该密钥。请务必在标记为 Host * 的任何全局设置之前添加该条目。

    Host SERVER_NAME
        IdentitiesOnly yes
        IdentityFile FILE_PATH
    
    • SERVER_NAME 是使用 IdentityFile 指定的文件的服务器。示例值为 github.com
    • FILE_PATH 是到您创建的 SSH 文件的完全限定路径。示例值为 C:\Users\<YourUserName>\.ssh\<FILE>,其中 <FILE> 可能为 id_rsaid_ecdsaid_ed25519 或自定义名称。

    示例

    Host github.com
        IdentitiesOnly yes
        IdentityFile C:/Users/user1/.ssh/id_ed25519
    
  4. 打开 Windows PowerShell,确保通过选择以管理员身份运行来打开它。

  5. 通过运行以下命令,配置 SSH 验证代理服务以便每次重新启动计算机时自动启动

    Get-Service ssh-agent | Set-Service -StartupType Automatic
    
  6. 通过运行以下命令,启动服务

    Start-Service ssh-agent
    
  7. 通过运行以下命令并确认Status值为Running来检查服务是否正在运行

    Get-Service ssh-agent
    
  8. 将密钥文件载入到ssh-agent,用密钥的实际文件名替换<FILE>,然后在提示时输入密码。

    ssh-add $env:USERPROFILE\.ssh\<FILE>
    

    示例

    ssh-add $env:USERPROFILE\.ssh\id_ed25519
    
  9. 确保 Git 使用 Windows OpenSSH 客户端,而不是 Git 自带的 SSH 客户端,可使用以下方法之一

    • 对于系统级配置,创建一个名为GIT_SSH_COMMAND的环境变量,其值为C:/Windows/System32/OpenSSH/ssh.exe。**重要:**确保在路径中使用正斜杠。

    • 要在特定范围内设置配置,请在终端中运行以下git config命令。有关详细信息,请参阅git config 文档。例如

      git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
      

      重要:确保在路径中使用正斜杠。

现在可以使用 Unity 包管理器通过 SSH 使用受密码保护的 SSH 密钥从该 Git 存储库获取包。

其他资源

使用含密码 SSH 密钥与 SSH Git URL
在 Windows 上自动加载 SSH 密钥(PuTTY)