概述
ssh-agent 安全地儲存 SSH 私鑰,並在需要時將其提供給 SSH 用戶端 (ssh),從而簡化了認證過程。一旦輸入通行詞組,在代理程式執行期間就不需要再次輸入,非常方便。這對於經常使用多個 SSH 連線的環境特別有用。
主要功能
- SSH 金鑰管理與儲存
- 防止重複輸入通行詞組
- 與 SSH 用戶端的安全通訊
- 基於工作階段的金鑰維護
主要選項
ssh-agent 主要在背景執行,並透過設定 shell 環境變數來讓 SSH 用戶端找到代理程式。
執行與控制
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`ssh-agent` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
啟動 ssh-agent (bash/sh)
eval "$(ssh-agent -s)"
在背景啟動 ssh-agent,並為目前的 shell 工作階段設定必要的環境變數。
添加 SSH 金鑰
ssh-add ~/.ssh/id_rsa
將私鑰添加到 ssh-agent。如果金鑰有通行詞組,則在此時輸入一次。
終止代理程式
ssh-agent -k
終止連接到目前 shell 工作階段的 ssh-agent 程序。
以 1 小時的存留時間啟動代理程式
eval "$(ssh-agent -s -t 3600)"
設定添加到代理程式的所有金鑰的最大存留時間為 1 小時 (3600 秒) 後啟動。
確認目前代理程式載入的金鑰列表
ssh-add -l
確認目前載入到 ssh-agent 中的 SSH 金鑰列表。
提示與注意事項
有效使用 ssh-agent 並維持安全性的提示。
提示
- **自動啟動**: 您可以在 `.bashrc` 或 `.zshrc` 檔案中添加 `eval "$(ssh-agent -s)"`,以便在啟動 shell 時自動執行代理程式。建議添加邏輯以檢查是否已有正在執行的代理程式。
- **確認金鑰列表**: 您可以使用 `ssh-add -l` 命令來確認目前載入到 ssh-agent 中的 SSH 金鑰列表。
- **移除金鑰**: 您可以使用 `ssh-add -d ~/.ssh/id_rsa` 移除特定金鑰,或使用 `ssh-add -D` 移除所有金鑰。
注意事項
- **代理程式轉送**: 使用 `ssh -A` 選項進行代理程式轉送時,遠端伺服器將能夠存取本機代理程式。雖然這很方便,但如果遠端伺服器受損,您的本機金鑰可能會洩漏,因此應僅在信任的伺服器上使用。
- **代理程式存留時間**: 您可以使用 `ssh-agent -t` 選項設定金鑰的最大存留時間。為了安全起見,建議不要設定過長的存留時間。