ssh agent + iterm + bash-git-prompt : authorization prompt shown every 5min
Hello,
I have configured the 1password SSH agent and uses it to store the SSH keys used to authenticate with our GIT repo (Gitlab.com). Everything works as advertised, I configured the agent to ask approval for each application, so I get the prompt the first time I git pull
in an iTerm terminal.
However, in my bash setup, if I activate the bash-git-prompt (https://github.com/magicmonty/bash-git-prompt, see screenshot below), then the agent authorisation prompt gets displayed "randomly", when the bash prompt is refreshed within a repository. By randomly I mean not every time the bash prompt is displayed (e.g. after each command), but about every 5 minutes.
I looked a bit into the source of this bash extension, it hooks with the PROMPT_COMMAND and PS1 bash variables. There is the GIT_PROMPT_FETCH_TIMEOUT variable (in minutes), that is used to git fetch
the repo with that interval. I would expect that the authorisation I give when I open the terminal should apply to this git command run in the same bash session... However the actual git fetch
command is run asynchronously in a subshell, with the disown command that removes the bash job from the job list :
async_run "git fetch --quiet" disown -h
function async_run() { { eval "$@" &> /dev/null }& }
I suspect that 1password does not understand that this "disowned" job/process is part of the bash session : for me 1password should not prompt for authorisation in this case.
Any help is appreciated.
Thank you in advance
- iTerm version: Build 3.5.0beta9
- bash-git-prompt version: 2.7.1 (from brew)
1Password Version: 1Password for Mac 8.10.3 (81003012)
Extension Version: Not Provided
OS Version: Mac 8.10.3
Browser:_ Not Provided
Referrer: forum-search:ssh key iterm
Comments
-
Thanks for the tip. The 1P update that introduced this feature rolled out just days after I reported the issue and it did indeed fixed the issue.
0 -
Great!
0