一般不需要修改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聲明來指定系統。 該選項意味着,在遠程系統上登錄時,如果使用的用戶名不同 於在本地系統上登錄所用的用戶名,那麼不必在命令行上輸入用戶名。 |