Linux
В моей системе Linux я расшифровываю закрытый ключ ssh каждый раз, когда загружаю систему. После загрузки я открываю терминал и выдаю:
ssh-add ~/.ssh/id_rsa_some_key
и я готов выполнять операции git, такие как git clone <git-url>
, git pull -a
и так далее. Когда я открываю другой терминал и снова выполняю такие команды, не появляется подсказка, которая просит ввести пароль зашифрованного ssh-ключа. Таким образом, в моей системе Linux я должен ввести пароль только один раз.
Windows
На моей работе у меня есть система Windows. После загрузки я открываю git-bash и выдаю:
eval $(ssh-agent)
и ssh-add ~/.ssh/private_key
, введите пароль и введите команды git, которые могут взаимодействовать с репозиторием git. В отличие от моей системы Linux, когда я открываю новый git-bash и выполняю команды git, появляется подсказка с просьбой ввести пароль. Таким образом, когда секретный ключ был дешифрован в терминале git-bash, то возможно взаимодействие с репозиторием git, но когда новый терминал открыт, ssh-ключ должен быть дешифрован снова.
Что я попробовал
Я пытался использовать конкурс. Первая проблема в том, что id_rsa не подходит. Новый ключ нужно было создать с помощью puttygen, но потом оказалось, что использовать ssh git url, начинающийся с git @, будет невозможно. Это должно было быть заменено на URL https, но это не то, что я хочу.
Какой ответ я предпочитаю
Я предпочитаю ответ, который удовлетворяет следующим критериям:
- Ключ Ssh должен быть дешифрован один раз, когда система Windows была загружена и открыт терминал для выполнения действий git
- Когда новый терминал открыт, можно продолжать взаимодействовать с репозиторием git, то есть не появится ни одного запроса, запрашивающего ввод пароля.
- Я не предан git-bash. Если на окнах есть другой терминал, который соответствует первым двум критериям, то это нормально для меня.