Каждый, кто настроил у себя на локальной машине работу с удаленным репозиторием Gitlab или Githab через SSH, наверняка столкнулся с назойливой проблемой постоянно вводить пароль при выполнении базовых команд git puch, git pull и др.
Решение проблемы есть на сайте
гитхаба, например. Но там не все так очевидно и потребовалось время, чтобы разобраться что к чему. Думаю, инструкция ниже может сэкономить твое время.
Первое решение, это вводить набор команд в консоли:
- открыть git в директории проекта
- eval "$(ssh-agent -s)"
- ssh-add ~/.ssh/id_ed25519
- ввести пароль
Второе решение, сделать автоматическим запрос пароля, при открытии локального гита:
- Открыть с правами администратора файл, у меня он находится в папке: C:\Program Files\Git\etc\bash.bashrc
- В нем будут команды, нужно в самом конце вставить код, он же указан на странице:
#Auto-launching ssh-agent
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 будет спрашивать пароль автоматом и только один раз, до следующей сессии.