如果您使用 Windows 及其内置的 OpenSSH 客户端,请按照以下步骤配置 OpenSSH 客户端以便在不出现提示的情况下使用您含密码的 SSH 密钥。
检查是否存在任何现有 SSH 密钥。请参阅 GitHub 文档文章,检查现有 SSH 密钥。
如果没有 SSH 密钥
检查 C:\Users\<YourUserName>\.ssh\config
是否存在。注意:在某些应用程序(如 Git Bash)中,.ssh
是一个隐藏的子目录。
如果 C:\Users\<YourUserName>\.ssh\config
不存在,请创建它。
向 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_rsa
、id_ecdsa
、id_ed25519
或自定义名称。示例
Host github.com
IdentitiesOnly yes
IdentityFile C:/Users/user1/.ssh/id_ed25519
打开 Windows PowerShell,确保通过选择以管理员身份运行来打开它。
通过运行以下命令,配置 SSH 验证代理服务以便每次重新启动计算机时自动启动
Get-Service ssh-agent | Set-Service -StartupType Automatic
通过运行以下命令,启动服务
Start-Service ssh-agent
通过运行以下命令并确认Status
值为Running
来检查服务是否正在运行
Get-Service ssh-agent
将密钥文件载入到ssh-agent
,用密钥的实际文件名替换<FILE>
,然后在提示时输入密码。
ssh-add $env:USERPROFILE\.ssh\<FILE>
示例
ssh-add $env:USERPROFILE\.ssh\id_ed25519
确保 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 存储库获取包。