Version: Unity 6.0 (6000.0)
语言 : 中文
配合使用受口令短语保护的 SSH 密钥与 SSH Git URL
在 Windows (PuTTY) 上自动加载 SSH 密钥

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

如果使用的是 Windows 及其内置 OpenSSH 客户端,请按照以下步骤配置 OpenSSH 客户端,以便可以在没有提示的情况下使用受口令短语保护的 SSH 密钥。

先决条件

  • Windows 10 或更高版本。

开始之前

检查是否已存在 SSH 密钥。请参阅 GitHub 文档:检查现有 SSH 密钥

如果没有 SSH 密钥:

  1. 请按照 GitHub 文档:生成新的 SSH 密钥来创建一个。
  2. 根据 GitHub 文档:向 GitHub 帐户添加新 SSH 密钥,将新的 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,确保通过选择以管理员身份运行 (Run as Administrator) 来将其打开。

  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 配置文档。例如:

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

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

现在可以使用 Unity Package Manager,借助受口令短语保护的 SSH 密钥通过 SSH 从该 Git 代码仓库获取包。

其他资源

配合使用受口令短语保护的 SSH 密钥与 SSH Git URL
在 Windows (PuTTY) 上自动加载 SSH 密钥