首頁 > 網路管理 > ssh-agent

ssh-agent:SSH 認證代理程式

ssh-agent 是一個程式,用於管理載入到記憶體中的 SSH 私鑰,並協助 SSH 用戶端在連接到遠端伺服器時自動處理認證,而無需重複輸入密碼或通行詞組。這大大提高了 SSH 連線的安全性與便利性。

概述

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` 選項設定金鑰的最大存留時間。為了安全起見,建議不要設定過長的存留時間。

相同類別命令