天天看點

配置檔案~/.ssh/config和/etc/ssh/ssh_config

一般不需要修改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節)。

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聲明來指定系統。

該選項意味着,在遠端系統上登入時,如果使用的使用者名不同

于在本地系統上登入所用的使用者名,那麼不必在指令行上輸入使用者名。

下一篇: 書單

繼續閱讀