安全地儲存 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 金鑰

設定完成,現在讓我們嘗試在 KeePassXC 中新增新的 SSH 金鑰:

點擊帶有密鑰的圖標,然後填寫資料:

安全地儲存 SSH 金鑰

如果密鑰受密碼保護,請同時指定密碼

在選項卡中 另外 用我們的上傳附件 id_rsa:

安全地儲存 SSH 金鑰

在選項卡中 SSH代理, 筆記:

  • 開啟/解鎖資料庫時向代理程式新增密鑰
  • 關閉/鎖定資料庫時從代理程式中刪除密鑰

接下來,選擇我們的金鑰(id_rsa) 在附件裡

然後按下按鈕 新增至代理:

安全地儲存 SSH 金鑰

現在,當您啟動 KeePassXC 時,金鑰將自動新增至 SSH 代理程式中,因此您不再需要將其儲存在磁碟上!

來源: www.habr.com

添加評論