Chcę Ci powiedzieć, jak bezpiecznie przechowywać klucze SSH na komputerze lokalnym, bez obawy, że jakaś aplikacja może je ukraść lub odszyfrować.
Artykuł przyda się tym, którzy nie znaleźli później eleganckiego rozwiązania $HOME/.ssh
.
Aby rozwiązać ten problem, sugeruję użycie
Dzięki temu możliwe jest bezpieczne przechowywanie wszystkich kluczy bezpośrednio w bazie haseł i automatyczne dodawanie ich do systemu po jego otwarciu. Gdy tylko baza danych zostanie zamknięta, użycie kluczy SSH również stanie się niemożliwe.
Na początek dodajmy autostart agenta SSH podczas logowania, w tym celu otwórzmy ~/.bashrc
w swoim ulubionym edytorze i dodaj na samym końcu:
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
Następnie musimy włączyć obsługę w KeePassXC:
Narzędzia -> Parametry -> Agent SSH -> Włącz agenta SSH
To kończy konfigurację, teraz spróbujmy dodać nowy klucz SSH do KeePassXC:
Kliknij na ikonę z kluczem, a następnie uzupełnij dane:
Jeśli klucz jest chroniony hasłem, podaj także hasło do niego
W zakładce Dodatkowe prześlij załącznik z naszym id_rsa:
W zakładce Agent SSH, notatka:
- Dodaj klucz do agenta podczas otwierania/odblokowywania bazy danych
- Usuń klucz z agenta podczas zamykania/blokowania bazy danych
Następnie wybierz nasz klucz (id_rsa) w załączniku
I naciśnij przycisk Dodaj do agenta:
Teraz, gdy uruchomisz KeePassXC, klucz zostanie automatycznie dodany do agenta SSH, więc nie musisz już przechowywać go na dysku!
Źródło: www.habr.com