Когда я бежал git clone git@... (используя ssh) один раз при перезагрузке компьютера появлялось диалоговое окно, содержащее текстовое поле для вставки моей парольной фразы SSH и подтвержденное OK. Затем кодовая фраза больше не требовалась до следующего запуска моей системы.
После обновления до версии 13.10
После обновления до Ubuntu 13.10 это окно больше не появляется, но появляется сообщение в терминале:
Enter passphrase for key '/home/username/.ssh/id_rsa':
...каждый раз при клонировании репозитория git появляется это сообщение.
Как я могу это исправить? Я хочу ввести свою кодовую фразу только один раз.
В любом случае, выполнив следующие команды, проблема была исправлена для меня:
Как исправить
Я исправил это, введя следующие команды:
$ ssh-agent bash
Это создает новый процесс bash, который позволяет вам добавлять закрытые ключи. При добавлении нового закрытого ключа вам будет предложено ввести пароль один и только один раз.
И затем:
$ ssh-add /home/username/.ssh/id_rsaEnter passphrase for /home/username/.ssh/id_rsa: Identity added: /home/username/.ssh/id_rsa (/home/username/.ssh/id_rsa)
...где username это ваше имя пользователя. Вы можете сделать то же самое, используя $USER переменная:
$ ssh-add /home/$USER/.ssh/id_rsa
В качестве альтернативы, просто используйте ~ для вашего домашнего каталога.
Если это так, просто добавьте свой .ssh/config одна строка в начале:
AddKeysToAgent yes
Другими вариантами являются no (значение по умолчанию), yes, confirm (необязательно с последующим временным интервалом), ask или временной интервал.
#3) Проверьте, открыт ли уже ssh-агент
Обычно дистрибутивы автоматически загружают ssh-агент. Чтобы проверить это, запустите
ps aux | grep -v grep | grep ssh-agent
Если вы не видите ни одной строки, содержащей его, вам нужно загрузить его, выполнив:
eval $(ssh-agent)
Обратите внимание, что это позволяет включить агент только на текущем терминале, поэтому, чтобы включить его везде, вы можете попробовать добавить эту строку в свой ~/.profile файл и перезагрузитесь.
Я потратил слишком много времени, чтобы запустить его на WSL2 Ubuntu 20.04. Наконец, нам нужно запустить ssh-агент при создании новой консоли, но тогда не загружайте ключ. Загрузить ключ при первом использовании и использовать AddKeysToAgent.
Добавьте следующее в конце вашего ~/.bashrc или ~/.zshrc:
Keychain помогает вам управлять ключами SSH и GPG удобным и безопасным способом. Он действует как интерфейс для ssh-agent и ssh-add, но позволяет вам легко иметь один долго работающий процесс ssh-agent для каждой системы, а не обычный один ssh-агент для каждого сеанса входа в систему.
Это значительно сокращает количество раз, когда вам нужно вводить свою кодовую фразу.
В Ubuntu 18.04 ssh-агент запускается при открытии сеанса X, управление им осуществляется в файле /etc/X11/Xsession.options:
# cat /etc/X11/Xsession.options# $Id: Xsession.options 189 2005-06-11 00:04:27Z branden $## configuration options for /etc/X11/Xsession# See Xsession.options(5) for an explanation of the available options.allow-failsafeallow-user-resourcesallow-user-xsessionuse-ssh-agentuse-session-dbus