一般不需要修改OpenSSH用戶端設定檔。對於給定使用者,共有兩個設定檔:~/.ssh/config(使用者專用)和/etc/ssh/ssh_config(全域共用)。要按照該順序讀取這些檔案,對於給定的某個參數,它使用的是讀取過程中發現的第一個配置。使用者可以通過以下方式將全域參數設定覆蓋掉:在自己的使用者設定檔中設定同樣的參數即可。在ssh或scp命令列上給出的參數的優先順序要高於這兩個檔案中所設定的參數的優先順序。
使用者的~/.ssh/config檔案必須由該使用者所有(他是目錄"~/"的所有者),並且除了所有者之外任何人都不能寫入該檔案。否則用戶端就會給出一條錯誤訊息然後退出。這個檔案的模式通常被設為600,這是因為除了它的所有者之外任何人沒有理由能夠讀取它。
這些設定檔中的配置行包含著聲明,這些聲明均以某個關鍵字(不區分大小寫)開頭,後面跟著空格,最後是參數(區分大小寫)。可以使用關鍵字Host,讓聲明只作用於特定的系統。Host聲明作用於它與下一條Host聲明之間的所有配置行。
CheckHostIP yes | no
如果將其設定為yes(預設值),那麼除了用known_hosts
檔案中的主機名稱之外,還可以採用IP地址來識別遠程系統。
若設定為no,則只使用主機名稱。將CheckHostIP設定為yes
可以提高系統的安全性。
ForwardX11 yes | no
如果設定為yes,那麼自動通過一條安全通道以不可信模式
來轉寄X11串連,但是並不設定shell變數DISPLAY。
如果ForwardX11Trusted也設定為yes,那麼串連以可信模式轉寄。
此外,可以在命令列上使用選項-X以不可信模式重新導向X11串連。
這個參數的預設值是no。要想讓X11轉寄起作用,還必須將伺服器
上的/etc/sshd_config檔案中的X11Forwarding設定為yes(參見8.4.6節)。
更多資訊請參見8.6節的“X11轉寄”部分。
ForwardX11Trusted yes | no
與ForwardX11一塊使用時,ForwardX11必須設定為yes(預設),
這個聲明才能起作用。當這個聲明設定為yes(預設),而
ForwardX11也設定為yes時,這個聲明將設定shell變數DISPLAY,
並給予遠程X11用戶端對原來的(伺服器)X11顯示的完整存取。
此外,可以在命令列上使用選項-Y以可信模式重新導向X11串連。
這個聲明的預設值是no。要想讓X11轉寄起作用,還必須將服務
器上的/etc/sshd_config檔案中的X11Forwarding設定為yes(參見8.4.6節)。
更多資訊請參見8.6節的“X11轉寄”部分。
HashKnownHosts
當設定為yes時, OpenSSH會將檔案~/.ssh/known_hosts中的
主機名稱和地址進行散列。當設定為no時,主機名稱與地址將以明
文形式寫入。Ubuntu Linux將這份聲明設定為yes來提高系統的
安全性。關於known_hosts檔案的更多資訊請參見8.3.3節第2小節。
Host hostnames
指定它後面的(直到下一個主機聲明為止)聲明只適用於與
hostnames相匹配的主機。Hostnames可以包含?與*萬用字元。
單個的*指定所有主機。如果沒有這個關鍵字,任何聲明都適用於所有主機。
HostbasedAuthentication yes | no
當設定為yes時,嘗試進行rhosts身分識別驗證。對於安全性要求較
高的系統,設定為no(預設)。
HostKeyAlgorithms algorithms
其中algorithms是一個由逗號隔開的演算法列表,用戶端按照優
先級順序依次使用這些演算法。從ssh-rsa或ssh-dss中選擇algorithms
(預設值為“ssh-rsa, ssh-dss”)。
Port num
使OpenSSH通過num連接埠與遠程系統串連。預設值為22。
StrictHostKeyChecking yes | no | ask
決定OpenSSH是否將主機密鑰添加到使用者的known_hosts檔案
中以及如何添加。如果將該選項設定為ask,那麼在串連新系
統時會詢問是否添加主機密鑰;如果設定為no,就會自動添加
主機密鑰;如果設定為yes,就要求手工添加主機密鑰。若將
參數設定yes或ask,則當某系統的主機密鑰發生改變之後,
OpenSSH會拒絕串連到該系統。對於安全性要求較高的系統,
請將此參數設定為yes或ask。預設為ask。
TCPKeepAlive yes | no
如果設定為yes(預設值),就定期檢查串連是否存活。
如果伺服器崩潰或者由於其他原因導致串連死掉,那麼這種
檢查將會導致ssh或scp串連中斷,即便串連只是暫時死掉。
若將這個參數設定為no,則會導致用戶端不去檢查串連是否存活。
這項聲明用到了TCP keepalive選項,它未經加密,並且容易受到
IP欺騙(參見術語表)。如果希望採用能夠防止IP欺騙的替代品,
那麼可以採用基於伺服器的相關技術,請參見8.4.6節中的“ClientAliveInterval”。
User name
指定登入系統時所用的使用者名稱。可用Host聲明來指定系統。
該選項意味著,在遠程系統上登入時,如果使用的使用者名稱不同
於在本地系統上登入所用的使用者名稱,那麼不必在命令列上輸入使用者名稱。