If you use Windows and its built-in OpenSSH client, follow these steps to configure the OpenSSH client so you can use your passphrase-protected SSH key without prompts.
Check if you have any existing SSH keys. Refer to the GitHub Docs article, Checking for existing SSH keys.
If you don’t have an SSH key:
Check if C:\Users\<YourUserName>\.ssh\config
exists. Note: In some applications, such as Git Bash, .ssh
is a hidden subdirectory.
Create C:\Users\<YourUserName>\.ssh\config
if it doesn’t exist.
Add the following content to C:\Users\<YourUserName>\.ssh\config
to set the key to load in the authentication agent and specify its use by the target server. Make sure you add this entry before any global settings marked as Host *
.
Host SERVER_NAME
IdentitiesOnly yes
IdentityFile FILE_PATH
SERVER_NAME
is the server that uses the file specified by IdentityFile
. A sample value is github.com
.FILE_PATH
is the fully qualified path to the SSH file you created. A sample value is C:\Users\<YourUserName>\.ssh\<FILE>
, where <FILE>
might be id_rsa
, id_ecdsa
, id_ed25519
, or a custom name.例
Host github.com
IdentitiesOnly yes
IdentityFile C:/Users/user1/.ssh/id_ed25519
Open the Windows PowerShell, making sure you open it by selecting Run as Administrator.
Configure the SSH Authentication Agent service so it starts each time you reboot your computer, by running the following command:
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start the service, by running the following command:
Start-Service ssh-agent
Check that the service is running, by running the following command and confirming that the Status
value is Running
:
Get-Service ssh-agent
Load your key file into the ssh-agent
, replacing <FILE>
with the actual file name of your key, then type your passphrase, if prompted.
ssh-add $env:USERPROFILE\.ssh\<FILE>
例
ssh-add $env:USERPROFILE\.ssh\id_ed25519
Make sure Git uses the Windows OpenSSH client instead of the SSH client included with Git, by using either of the following methods:
For system-wide configuration, create an environment variable named GIT_SSH_COMMAND
with a value of C:/Windows/System32/OpenSSH/ssh.exe
. Important: Make sure you use forward slashes in the path.
To set the configuration for a specific scope, run the following git config
command in a terminal. Refer to the git config documentation for details. For example:
git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
Important: Make sure you use forward slashes in the path.
You can now use the Unity Package Manager to fetch packages from that Git repository over SSH using your passphrase-protected SSH key.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.