Сохранение ключевой фразы SSH с помощью связки ключей с параметром --noask

9
24.07.2016, 20:26
1 ответ

В ssh-agent и последних версиях OpenSSH все просто:

  1. Запустите обычный ssh-agent с таймаутом по умолчанию для добавленных ключей (например, 60 минут):

    eval `ssh-agent -t 60m`.
    
  2. Настройте ваш ssh для добавления фактически используемых ключей в агент. Добавьте новую строку в ~/.ssh/config`:

    AddKeysToAgent yes
    

    Эта возможность появилась в последней версии OpenSSH 7.2. В предыдущих версиях вам нужно было добавлять ключ в агент вручную, если превышался таймаут, но это можно довольно просто автоматизировать с помощью функции bash, примерно так:

    ssh() {
     /bin/ssh -o BatchMode=yes $* || \
     ssh-add path/to/the-key && /bin/ssh $*
    }
    

    Идея: Попробуйте подключиться с помощью ключа в пакетном режиме (не будет запрашиваться парольная фраза и произойдет сбой, если ключа нет), а при неудаче добавьте ключ в агент и повторно выполните команду ssh.

11
27.01.2020, 20:07

Теги

Похожие вопросы