Загрузить SSH ключи автоматически на Windows (OpenSSH)
Если вы работаете в Windows со встроенным клиентом OpenSSH, выполните эти шаги, чтобы настроить его и использовать SSH-ключ с парольной фразой без лишних запросов.
Предварительные условия
- Windows 10 или позже.
Перед началом
Проверьте, есть ли у вас какие-либо существующие ключи SSH. См. статью GitHub Docs, Проверка на наличие существующих ключей SSH.
Если у вас нет ключа SSH:
- Создайте его в соответствии со статьей GitHub Docs, Генерирование нового ключа SSH.
- Добавьте новый ключ SSH к вашей учетной записи GitHub, следуя статье GitHub Docs, Добавление нового ключа SSH к вашей учетной записи GitHub.
Процедура
Проверить если
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_PATHSERVER_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 вместо клиента SSH, включённого в Git, используя один из следующих методов:
Для общесистемной конфигурации создайте переменную среды
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 Package Manager может получать пакеты из этого репозитория Git по SSH с использованием вашего защищённого парольной фразой ключа.