SourceTree запрашивает пароль для аутентификации SSH при каждом перезапуске
В SourceTree я использую OpenSSH в качестве аутентификации и создал + добавил свои SSH-ключи (в Windows) следующим образом:
1) ssh-keygen -t rsa -C "[email protected]"
(и введите имя файла, пароль и т.д.)
2) Добавлен ключ к агенту SSH:
eval "$(ssh-agent)"
ssh-add id_rsa
3) Добавлен ключ SSH для использования GitLab
cat id_rsa.pub
для печати открытого ключа
4) Добавлен открытый ключ в SourceTree с помощью "Инструменты > Добавить ключ SSH", а затем пароль ( "Инструменты" > "Параметры" > "Конфигурация клиента SSH". Я выбрал OpenSSH).
После этих шагов я могу нажать и вытащить код.
Тем не менее, каждый раз, когда я перезапускаю SourceTree, появляется всплывающее окно терминала, и я снова должен повторно вводить пароль *. Как я могу заставить SourceTree/SSH-агент запомнить этот пароль?
пс. мои ключи сохраняются в каталоге, например/d/MyName/Gitlab/вместо ~/.ssh/, но это не должно быть проблемой, верно?
EDIT:
* Сообщение, отображаемое в терминале:
SourceTree is loading your SSH key into the agent for authentication
Please enter your passphrase if prompted to do so
Enter passphrase for D:\MyName\GitLab\.ssh\id_rsa:
Ответы
Ответ 1
Вы вручную запускаете свой агент и устанавливаете переменные среды, чтобы команды могли его найти.
Всякий раз, когда вы запускаете свою команду (например, SourceTree) без этих переменных окружения, эта команда не может получить доступ к агенту и поэтому запрашивает ваш пароль.
Начало запуска вашего агента при запуске системы должно решить проблемы.
Если ssh не может связаться с агентом, он также рассмотрит ~/.ssh/
, поэтому, если вы поместите ключи там, он тоже должен работать. (Посмотрите man ssh
.)