<rmcreative>

RSS

Запоминаем пароли к ssh-ключам в ssh-agent

12 мая

Вводить пароли к ssh-ключам того же git каждый раз немного достаёт и неплохо было бы чтобы оно как-то само. Делается при помощи ssh-agent. Примерно так же делается и на Linux-ах и на маке и в Windows с git-bash.

  1. Добавляем запуск ssh-agent (смотрите ниже) в .bash_profile. Скрипт обычно лежит в домашней директории пользователя. В Windows это c:\Users\username.
  2. Идём в конфиг OpenSSH, обычно это .ssh/config в домашней директории пользователя. Если запоминать надо пароли ко всем ключам, добавляем туда AddKeysToAgent yes первой строкой. Если к отдельным, добавляем в конфиги самих ключей.
  3. Открываем новую консоль. Делаем какое-то действие с запросом пароля, вводим пароль.
  4. Всё, пароль запомнен, больше спрашивать не будет.

Скрипт для запуска ssh agent:

# start SSH agent
SSH_ENV=$HOME/.ssh/environment
 
function start_agent {
     echo "Initializing new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
     echo succeeded
     chmod 600 ${SSH_ENV}
     . ${SSH_ENV} > /dev/null
     /usr/bin/ssh-add;
}
 
# Source SSH settings, if applicable
 
if [ -f "${SSH_ENV}" ]; then
     . ${SSH_ENV} > /dev/null
     #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -efp ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi

Комментарии RSS

  1. №12179
    Paul Elms
    Paul Elms 12 мая 2021 г., 16:45:03

    В keepassxc есть ещё интеграция с агентом (как от openssh, так и putty/kitty). Т.е. храним ключи в базе паролей, при разблокировке базы keepassxc кеширует их в агенте. На windows 10 со встроенным в него ssh тоже работает. Ещё он может быть провайдером так называемой связки ключей в Linux, но это уже другая история.

  2. №12180
    Sam
    Sam 12 мая 2021 г., 18:13:30

    О, интересно. Надо попробовать.

  3. №12181
    MAXHO.MACTEP
    MAXHO.MACTEP 12 мая 2021 г., 19:17:45

    ubuntu 21, не работает

  4. №12183
    Sam
    Sam 13 мая 2021 г., 11:14:30

    MAXHO.MACTEP, агент стартовал?

  5. №12184
    MAXHO.MACTEP
    MAXHO.MACTEP 13 мая 2021 г., 11:49:37

    dad@home~>ssh-agent SSH_AUTH_SOCK=/tmp/ssh-foExsFgGy0ZP/agent.42987; export SSH_AUTH_SOCK; SSH_AGENT_PID=42988; export SSH_AGENT_PID; echo Agent pid 42988;

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.