~/.ssh/config

將常用連線參數儲存至 SSH 用戶端設定檔。

執行前須知

第一段是檔案內容,並非 shell 指令:請在本機編輯 ~/.ssh/config。通常先取得的設定值生效,應將具體 Host 區塊放在廣泛的 Host * 預設項之前。保護檔案權限(通常為 chmod 600 ~/.ssh/config),不要寫入密碼或私鑰內容。ServerAlive 偵測 SSH 對端是否回應,並不偵測所有應用程式故障。ssh -G 不會連線,只顯示生效設定;輸出可能含內部位址及路徑。

使用範例

新增 lab 別名,指定連接埠、身分檔案及 SSH 保活參數。

Host lab
    HostName server.example.com
    User alice
    Port 2222
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    ServerAliveInterval 30
    ServerAliveCountMax 3

使用別名連線,或查看該別名最終生效的設定。

ssh lab
ssh -G lab

參數與範例

Host pattern常用

啟動與 SSH 別名或主機模式相符的區塊。將特定區塊放在通用區塊之前:使用第一個獲得的值。

範例
Host lab
    HostName server.example.com
HostName / User / Port常用

設定匹配主機的實際伺服器位址、登入名稱和 SSH 連接埠。

範例
Host lab
    HostName server.example.com
    User alice
    Port 2222
IdentityFile / IdentitiesOnly常用

選擇一個私鑰,當設定為“是”時,將提供的身份限制為已配置的身份。

範例
Host lab
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
ProxyJump常用

透過一台或多台 SSH 跳轉主機進行連線。

範例
Host lab
    ProxyJump alice@bastion.example.com
LocalForward

設定轉送至從 SSH 伺服器到達的目標的本機偵聽器。

範例
Host lab
    LocalForward 127.0.0.1:15432 db.internal.example.com:5432
RemoteForward

設定轉送至從本機電腦到達的目的地的遠端偵聽器;伺服器原則適用。

範例
Host lab
    RemoteForward 127.0.0.1:18080 127.0.0.1:8080
DynamicForward

配置本機 SOCKS 偵聽器。客戶端必須單獨配置。

範例
Host lab
    DynamicForward 127.0.0.1:1080
ExitOnForwardFailure

如果無法建立請求的初始轉送偵聽器,則 SSH 連線失敗。

範例
Host lab
    ExitOnForwardFailure yes
ServerAliveInterval / ServerAliveCountMax常用

配置 SSH 等級的對等檢查以及斷開連接之前未答覆檢查的數量。

範例
Host lab
    ServerAliveInterval 30
    ServerAliveCountMax 3
ConnectTimeout

設定連線逾時(以秒為單位)。

範例
Host lab
    ConnectTimeout 10
ForwardAgent

控制代理轉發。受感染的遠端主機可以請求簽名;僅對受信任的主機啟用。

範例
Host lab
    ForwardAgent no
Include

包含額外的 SSH 設定檔;順序影響選擇哪些值。

範例
Include ~/.ssh/config.d/*.conf

權威參考

核對日期:2026 年 10 月 27 日