Используя git для windows (git-scm.com) и скрипт, я могу заставить Bash перестать запрашивать фразу-пароль, но не могу удалить приглашение-фразу-пароль из графического интерфейса git.
URLдля удаленного доступа используется ссылка ssh (см. ниже), так что я уверен, что это не проблема.Но я не эксперт ни в git, ни в SSH.
git@gitlab.com:repo
Ключи SSH (ED25519) были созданы с предоставленной парольной фразой, и открытый ключ был добавлен в учетную запись хостинга.Ключи SSH хранятся в типичном месте C:\Users\<user>\.ssh\id_ed25519
.При нажатии Help->Show SSH Key
в графическом интерфейсе, он показывает мой ключ ssh, который используется.Ssh-agent работает в фоновом режиме, и ключ ssh был добавлен в ssh-agent с помощью приведенной ниже настройки.
Настройка ssh-agent. Я использовал предоставленный код здесь (скопировано и вставлено ниже для справки), чтобы создать файл .bashrc
по пути C:\Users\<user>
.Кажется, что все работает должным образом в командной строке bash, но не в графическом интерфейсе Git.
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
Мне кажется, что графический интерфейс Git не использует ssh-agent при выполнении push, fetch илилюбая другая связанная удаленная функция.Есть ли какой-то шаг, который я пропустил при настройке ssh-agent, .bashrc
script и / или GUI, чтобы завершить удаление запроса пароля?или что-то еще происходит?
Любая помощь очень ценится, заранее спасибо