ssh-agent

透過驗證代理程式為 SSH 用戶端保管可用的簽署身分。

執行前須知

macOS 可能已有系統代理程式,可先執行 ssh-add -l 檢查。eval 範例適用於 zsh/bash,不適用於 PowerShell。僅於需要時建立獨立代理程式,且只停止自己建立的代理程式。環境變數僅對目前 shell 及其子程序生效。不要任意啟用代理轉送(-A):遠端遭入侵時,攻擊者可能在轉送有效期間利用代理程式驗證。

使用範例

啟動獨立代理程式,並在目前 shell 設定其環境。

eval "$(ssh-agent -s)"

停止上一步建立的代理程式,並清除相應 shell 變數。

eval "$(ssh-agent -k)"

參數與範例

-s常用

列印 Bourne 相容的 shell 指令來設定代理環境變數;此範例適用於 sh 相容的 shell。

範例
eval "$(ssh-agent -s)"
-c

列印 C-shell 命令而不是 Bourne-shell 命令。

範例
ssh-agent -c
-k常用

列印命令以停止目前環境識別的代理。僅停止您啟動的代理程式。

範例
eval "$(ssh-agent -k)"
-t life

設定新增至此代理程式的身份的預設生命週期,除非 ssh-add 覆蓋它。

範例
ssh-agent -t 1h
-a bind_address

將代理程式綁定到指定的Unix套接字路徑;保護對該套接字的存取。

範例
ssh-agent -a /tmp/example-ssh-agent.sock
-D

在前台運行代理;有利於監督。

範例
ssh-agent -D

權威參考

核對日期:2026 年 10 月 27 日