Зберігаємо SSH-ключі безпечно

Зберігаємо SSH-ключі безпечно

Хочу розповісти, як безпечно зберігати SSH-ключі на локальній машині, не боячись за те, що якась програма може вкрасти або розшифрувати їх.

Стаття буде корисною тим, хто так і не знайшов елегантного рішення після параної у 2018 та продовжує зберігати ключі у $HOME/.ssh.

Для вирішення цієї проблеми пропоную використовувати KeePassXC, який є одним із кращих менеджерів паролів, він використовує сильні алгоритми шифрування, а також має вбудований SSH-агент.

Це дає можливість безпечно зберігати всі ключі прямо в базі паролів і автоматично додавати їх до системи під час її відкриття. Як тільки базу буде закрито, використання SSH-ключів також стане неможливим.

Насамперед додамо автозапуск SSH-агента при вході в систему, для цього відкрийте ~/.bashrc у вашому улюбленому редакторі і додайте до кінця:

SSH_ENV="$HOME/.ssh/environment"

function start_agent {
    echo "Initialising new SSH agent..."
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
}

# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
    . "${SSH_ENV}" > /dev/null
    #ps ${SSH_AGENT_PID} doesn't work under cywgin
    ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi

Після цього нам потрібно включити підтримку в KeePassXC:

Інструменти -> Параметри -> SSH-агент -> Увімкнути SSH-агент

Зберігаємо SSH-ключі безпечно

На цьому налаштування завершено, тепер спробуємо додати новий SSH-ключ у KeePassXC:

Натискаємо на іконку з ключем, потім заповнюємо дані:

Зберігаємо SSH-ключі безпечно

Якщо ключ захищений паролем, вкажіть пароль до нього.

На вкладці Додаткові завантажуємо вкладення з нашим id_rsa:

Зберігаємо SSH-ключі безпечно

На вкладці SSH-агент, відзначимо:

  • Додати ключ до агента при відкритті/розблокуванні бази даних
  • Прибрати ключ із агента під час закриття/блокування бази даних

Далі виберемо наш ключ (id_rsa) у вкладенні

І натиснемо кнопку Додати в агент:

Зберігаємо SSH-ключі безпечно

Тепер при запуску KeePassXC ключ автоматично додаватиметься в SSH-агент, таким чином його можна більше не зберігати на диску!

Джерело: habr.com

Додати коментар або відгук