Bezpieczne przechowywanie kluczy SSH

Bezpieczne przechowywanie kluczy SSH

Chcę opowiedzieć, jak bezpiecznie przechowywać klucze SSH na lokalnej maszynie, nie obawiając się, że jakieś aplikacje mogą je ukraść lub odszyfrować.

Artykuł będzie przydatny dla tych, którzy nie znaleźli eleganckiego rozwiązania po paranoi w 2018 roku i wciąż przechowują klucze w $HOME/.ssh.

Aby rozwiązać ten problem, proponuję użyć KeePassXC, który jest jednym z najlepszych menedżerów haseł, stosuje silne algorytmy szyfrowania i ma wbudowany agent SSH.

Daje to możliwość bezpiecznego przechowywania wszystkich kluczy bezpośrednio w bazie haseł i automatycznego dodawania ich do systemu po jej otwarciu. Gdy baza zostanie zamknięta, użycie kluczy SSH również stanie się niemożliwe.

Na początek dodamy automatyczne uruchamianie agenta SSH przy logowaniu do systemu, aby to zrobić, otwórz ~\/ .bashrc w swoim ulubionym edytorze i dodaj na samym końcu:

SSH_ENV="$HOME/.ssh/environment"

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

# Źródło ustawień SSH, jeśli dotyczy
if [ -f "${SSH_ENV}" ]; then
    . "${SSH_ENV}" > /dev/null
    #ps ${SSH_AGENT_PID} nie działa pod cygwin
    ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi

Po tym potrzebujemy włączyć wsparcie w KeePassXC:

Narzędzia —> Ustawienia —> Agent SSH —> Włączyć agenta SSH

Bezpieczne przechowywanie kluczy SSH

Na tym ustawienia zostały zakończone, teraz spróbujmy dodać nowy klucz SSH do KeePassXC:

Klikamy ikonę klucza, a następnie wypełniamy dane:

Bezpieczne przechowywanie kluczy SSH

Jeśli klucz jest chroniony hasłem, wskaż również jego hasło.

Na karcie Dodatkowe ładujemy załącznik z naszym id_rsa:

Bezpieczne przechowywanie kluczy SSH

Na karcie Agent SSH, zaznaczamy:

  • Dodać klucz do agenta przy otwieraniu/zablokowywaniu bazy danych
  • Usunąć klucz z agenta przy zamykaniu/zablokowywaniu bazy danych

Następnie wybieramy nasz klucz (id_rsa) w załączniku

I naciskamy przycisk Dodaj do agenta:

Bezpieczne przechowywanie kluczy SSH

Teraz przy uruchomieniu KeePassXC klucz będzie automatycznie dodawany do agenta SSH, dzięki czemu nie musisz już go przechowywać na dysku!

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster