~/.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.comHostName / User / Port常用設定匹配主機的實際伺服器位址、登入名稱和 SSH 連接埠。
範例
Host lab
HostName server.example.com
User alice
Port 2222IdentityFile / IdentitiesOnly常用選擇一個私鑰,當設定為“是”時,將提供的身份限制為已配置的身份。
範例
Host lab
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yesProxyJump常用透過一台或多台 SSH 跳轉主機進行連線。
範例
Host lab
ProxyJump alice@bastion.example.comLocalForward設定轉送至從 SSH 伺服器到達的目標的本機偵聽器。
範例
Host lab
LocalForward 127.0.0.1:15432 db.internal.example.com:5432RemoteForward設定轉送至從本機電腦到達的目的地的遠端偵聽器;伺服器原則適用。
範例
Host lab
RemoteForward 127.0.0.1:18080 127.0.0.1:8080DynamicForward配置本機 SOCKS 偵聽器。客戶端必須單獨配置。
範例
Host lab
DynamicForward 127.0.0.1:1080ExitOnForwardFailure如果無法建立請求的初始轉送偵聽器,則 SSH 連線失敗。
範例
Host lab
ExitOnForwardFailure yesServerAliveInterval / ServerAliveCountMax常用配置 SSH 等級的對等檢查以及斷開連接之前未答覆檢查的數量。
範例
Host lab
ServerAliveInterval 30
ServerAliveCountMax 3ConnectTimeout設定連線逾時(以秒為單位)。
範例
Host lab
ConnectTimeout 10ForwardAgent控制代理轉發。受感染的遠端主機可以請求簽名;僅對受信任的主機啟用。
範例
Host lab
ForwardAgent noInclude包含額外的 SSH 設定檔;順序影響選擇哪些值。
範例
Include ~/.ssh/config.d/*.conf權威參考
核對日期:2026 年 10 月 27 日