本文作者是一位自由軟件愛好者,所以本文雖然不是軟件,但是本著 GPL 的精神發(fā)布。任何人都可以自由使用、轉(zhuǎn)載、復(fù)制和再分發(fā),但必須保留作者署名,亦不得對聲明中的任何條款作任何形式的修改,也不得附加任何其它條件。您可以自由鏈接、下載、傳播此文檔,但前提是必須保證全文完整轉(zhuǎn)載,包括完整的版權(quán)信息和作譯者聲明。
本文作者十分愿意與他人共享勞動成果,如果你對我的其他翻譯作品或者技術(shù)文章有興趣,可以在如下位置查看現(xiàn)有作品的列表:
由于作者水平有限,因此不能保證作品內(nèi)容準(zhǔn)確無誤,請在閱讀中自行鑒別。如果你發(fā)現(xiàn)了作品中的錯誤,請您來信指出,哪怕是錯別字也好,任何提高作品質(zhì)量的建議我都將虛心接納。如果你愿意就作品中的相關(guān)內(nèi)容與我進(jìn)行進(jìn)一步切磋與探討,也歡迎你與我聯(lián)系。聯(lián)系方式:MSN: csfrank122@hotmail.com
SSHD(8) OpenBSD System Manager''s Manual SSHD(8)名稱sshd - OpenSSH SSH 守護(hù)進(jìn)程語法sshd [-46Ddeiqt] [-b bits] [-f config_file] [-g login_grace_time][-h host_key_file] [-k key_gen_time] [-o option] [-p port] [-u len]描述sshd 是 OpenSSH SSH 守護(hù)進(jìn)程。用于在不可信網(wǎng)絡(luò)上提供安全的連接通道。sshd 守護(hù)進(jìn)程通常由root用戶啟動,它監(jiān)聽來自客戶端的連接,然后為每個連接派生一個子進(jìn)程。子進(jìn)程負(fù)責(zé)處理密鑰交換、加密、認(rèn)證、執(zhí)行命令、數(shù)據(jù)交換等具體事務(wù)。sshd 的行為可以通過使用命令行選項和配置文件(默認(rèn)是sshd_config(5))進(jìn)行控制,但命令行選項會覆蓋配置文件中的設(shè)置。sshd 會在收到 SIGHUP 信號后重新讀取配置文件,但是最初啟動的命令行選項仍然有效(仍會覆蓋配置文件中的設(shè)置)。命令行選項說明:-4 強(qiáng)制 sshd 只使用 IPv4 地址-6 強(qiáng)制 sshd 只使用 IPv6 地址-b bits指定使用SSH-1協(xié)議時服務(wù)器密鑰的長度,默認(rèn)為768-D 將 sshd 作為前臺進(jìn)程運(yùn)行,而不是脫離控制臺成為后臺守護(hù)進(jìn)程。主要用于調(diào)試。-d 以調(diào)試模式運(yùn)行。服務(wù)器將在前臺運(yùn)行并發(fā)送非常詳細(xì)的調(diào)試日志信息,服務(wù)器將只允許接入一個連接,并且不派生出子進(jìn)程。僅用于調(diào)試目的。使用多個 -d 選項可以輸出更詳細(xì)的調(diào)試信息(最多3個)。-e 將服務(wù)器日志消息發(fā)送到 stderr 而不是系統(tǒng)日志。-f config_file指定配置文件的絕對路徑,默認(rèn)值通常是 /etc/ssh/sshd_config 。如果配置文件不存在 sshd 將無法啟動。-g login_grace_time要求客戶端必須在這個指定的秒數(shù)內(nèi)完成認(rèn)證,默認(rèn)為 120 秒。如果在指定時間內(nèi)未完成認(rèn)證,服務(wù)器將斷開連接并退出子進(jìn)程。設(shè)為零表示沒有限制。-h host_key_file指定使用哪一個主機(jī)密鑰文件。因?yàn)橹鳈C(jī)密鑰一般只有root可以讀取,所以在服務(wù)器以非root運(yùn)行時通常必須設(shè)置此選項。對于SSH-1協(xié)議,默認(rèn)值一般是:/etc/ssh/ssh_host_key對于SSH-2協(xié)議,默認(rèn)值一般是:/etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key-i 告訴 sshd 它是由 inetd 啟動的。由于 sshd 在能夠應(yīng)答客戶端之前可能需要數(shù)十秒來生成服務(wù)器密鑰,所以一般不使用 inetd 來啟動。如果每一次都生成新密鑰,那么客戶端每次都要等候很久。當(dāng)然,如果密鑰很短,比如只有512位,那么使用 inetd 也是可行的。-k key_gen_time指定運(yùn)行于SSH-1協(xié)議時重新生成密鑰的周期秒數(shù),默認(rèn)為3600秒。零表示永不重新生成。需要不停的重新生成密鑰的原因在于SSH-1協(xié)議并未將密鑰持久保存在某個地方。不斷的重新生成密鑰也可以降低竊聽或主機(jī)被入侵等攻擊造成的損害。-o option按照配置文件的格式("指令 值")在命令行上指定某些配置指令的值。可以通過多次使用此選項指定多個指令的值。有關(guān)更多配置指令的解釋請查看 sshd_config(5) 手冊頁。-p port指定監(jiān)聽端口(默認(rèn)為22),可以多次使用此選項監(jiān)聽多個端口。如果在命令行上使用了此選項,那么配置文件中的 Port 指令將被忽略。但是配置文件中的 ListenAddress 指令又會覆蓋這個命令行選項。-q 安靜模式。不發(fā)送任何日志信息。默認(rèn)情況下每個連接的啟動、認(rèn)證、結(jié)束都將被記錄。-t 測試模式。僅檢查配置文件和密鑰的有效性。常用于修改過配置文件之后檢查其正確性。-u len 指定utmp文件中遠(yuǎn)程主機(jī)名字段的最大字符數(shù),如果遠(yuǎn)程主機(jī)名比這個長,那么將使用點(diǎn)分十進(jìn)制ip地址。這就允許名字非常長的主機(jī)名也能得到唯一標(biāo)識。指定"-u0"則表示僅記錄點(diǎn)分十進(jìn)制ip地址。"-u0"還能阻止 sshd 進(jìn)行DNS反向查詢,除非認(rèn)證機(jī)制或配置文件要求必須進(jìn)行DNS查詢。配置文件中的 RhostsRSAAuthentication, HostbasedAuthentication 指令會要求進(jìn)行DNS反向查詢,密鑰文件中使用 from="pattern-list" 選項也會要求進(jìn)行DNS反向查詢,配置文件中的 AllowUsers 或 DenyUsers 指令中包含 USER@HOST 模式時也會要求進(jìn)行DNS反向查詢。認(rèn)證OpenSSH 同時支持SSH-1和SSH-2協(xié)議,但是可以在配置文件中使用 Protocol 指令指定只支持其中一種或兩種都支持。SSH-2同時支持RSA和DSA密鑰,但是SSH-1僅支持RSA密鑰。無論哪種協(xié)議,每個主機(jī)都有一個特定的密鑰(默認(rèn)2048位)用于標(biāo)識自身。對于SSH-1,服務(wù)器在啟動的時候會生成一個額外的臨時密鑰(默認(rèn)768位,不在硬盤保存),并且通常每小時重新生成一次。當(dāng)客戶端發(fā)起連接的時候,守護(hù)進(jìn)程使用它的主機(jī)公鑰應(yīng)答,客戶端將此公鑰與先前存儲的公鑰進(jìn)行對比,看看是否有變化。客戶端接著生成一個256位的隨機(jī)數(shù),并用剛才獲得的服務(wù)器公鑰加密,然后將結(jié)果發(fā)回給服務(wù)器。此后雙方就使用這個256位的隨機(jī)數(shù)(會話密鑰)加密本次會話的所有內(nèi)容。具體的加密算法由客戶端在服務(wù)器提供的所有可用算法中選擇,默認(rèn)為3DES算法。對于SSH-2,則使用 Diffie-Hellman 密鑰交換協(xié)議商定會話密鑰。隨后的會話將使用商定的密鑰加密,具體的加密算法由客戶端在服務(wù)器提供的所有可用算法中選擇(比如AES-256)。此外,還使用由雙方商定的摘要算法(hmac-md5, hmac-sha1, umac-64, hmac-ripemd160)對數(shù)據(jù)完整性進(jìn)行校驗(yàn)。接著,客戶端將使用服務(wù)器認(rèn)可的認(rèn)證方法(基于主機(jī)的認(rèn)證、公鑰認(rèn)證、質(zhì)疑-應(yīng)答認(rèn)證、密碼認(rèn)證)之一進(jìn)行身份認(rèn)證。認(rèn)證成功后就進(jìn)入了預(yù)備會話的狀態(tài),客戶端可能會要求分配一個偽終端、X11轉(zhuǎn)發(fā)、TCP轉(zhuǎn)發(fā)、認(rèn)證代理轉(zhuǎn)發(fā)等。然后,客戶端可能會要求取得一個shell或執(zhí)行一個命令,雙方進(jìn)入會話模式,可以在任何時候發(fā)送任何數(shù)據(jù)。這些數(shù)據(jù)將在服務(wù)器端的shell或命令與客戶終端之間傳遞。當(dāng)會話結(jié)束時,服務(wù)器將向客戶端發(fā)送會話終止信號,雙方退出。登錄過程當(dāng)某個用戶成功登錄后,sshd 將會按照下列順序做一系列動作:1. 如果在一個 tty 登錄,并且沒有指定執(zhí)行任何命令,那么將打印上次登錄時間和 /etc/motd 的內(nèi)容。/etc/motd 的內(nèi)容可以通過配置文件或者 ~/.hushlogin 禁止,具體參見下面的"文件"小節(jié)。2. 如果在一個 tty 登錄,那么記錄登錄時間。3. 如果存在 /etc/nologin 文件,并且登錄用戶不是root,那么打印 /etc/nologin 文件的內(nèi)容并結(jié)束。4. 切換身份至非特權(quán)用戶運(yùn)行5. 設(shè)置基本環(huán)境變量6. 如果配置文件允許用戶修改環(huán)境變量,則處理 ~/.ssh/environment 文件并設(shè)置相應(yīng)的環(huán)境變量細(xì)節(jié)參見 sshd_config(5) 手冊頁中的 PermitUserEnvironment 指令。7. 切換到該用戶的家目錄8. 如果存在 ~/.ssh/rc 文件則運(yùn)行它,否則運(yùn)行 /etc/ssh/sshrc (如果存在)。如果上面兩個都不存在則運(yùn)行 xauth 程序。參見下面的"SSHRC"小節(jié)。9. 啟動用戶的 shell 或運(yùn)行指定的命令。SSHRC如果存在 ~/.ssh/rc 文件,那么在讀取并設(shè)置環(huán)境變量之后、運(yùn)行用戶shell或命令之前,將會使用sh運(yùn)行這個文件。這個文件不能在 stdout 上產(chǎn)生任何輸出,而只能在 stderr 上產(chǎn)生輸出。如果使用 X11 轉(zhuǎn)發(fā),那么此腳本將從標(biāo)準(zhǔn)輸入上收到"proto cookie"對(包含 DISPLAY 環(huán)境變量)。該腳本必須調(diào)用 xauth ,因?yàn)?sshd 不會自動運(yùn)行 xauth 來添加 X11 cookies這個文件的主要目的是在訪問用戶的家目錄之前進(jìn)行一些必要的初始化工作,比如在使用 AFS 的時候。這個文件可能會包含類似下面這樣的初始化代碼:if read proto cookie && [ -n "$DISPLAY" ]; thenif [ `echo $DISPLAY | cut -c1-10` = ''localhost:'' ]; then# X11UseLocalhost=yesecho add unix:`echo $DISPLAY |cut -c11-` $proto $cookieelse# X11UseLocalhost=noecho add $DISPLAY $proto $cookiefi | xauth -q -fi如果此文件不存在,那么將運(yùn)行 /etc/ssh/sshrc 文件;如果 /etc/ssh/sshrc 文件也不存在,那么將使用 xauth 添加 cookieAUTHORIZED_KEYS 文件格式AuthorizedKeysFile 指令指定了用于公鑰認(rèn)證的公鑰文件(默認(rèn) ~/.ssh/authorized_keys)位置,每行一個公鑰。此文件中空行和以''#''開頭的行將被當(dāng)作注釋忽略。SSH-1公鑰文件由以下字段組成:選項,位數(shù),exponent(指數(shù)),modulus(模數(shù)),注釋。SSH-2公鑰文件由以下字段組成:選項,公鑰類型,base64編碼后的公鑰,注釋。"選項"字段是可選的,取決于該行是否由數(shù)字開頭("選項"字段不可能由數(shù)字開頭)。"公鑰類型"字段的值可以是"ssh-dss"和"ssh-rsa"之一。這個文件中允許的最大DSA密鑰長度是8192,允許的最大RSA密鑰長度是16384位。sshd 強(qiáng)制RSA密鑰的最小長度是768位。你不需要手工輸入這么長的字符串,正確的做法是從 identity.pub, id_dsa.pub或id_rsa.pub 文件中復(fù)制。"選項"字段由逗號分隔的選項組成,不允許出現(xiàn)任何空格(除非出現(xiàn)在雙引號內(nèi))。當(dāng)前所有可用的選項及其解釋如下:command="command"指定當(dāng)這個公鑰用于認(rèn)證時需要額外運(yùn)行的命令(必須使用引號界定),如果要在命令中含有引號可以通過反斜杠轉(zhuǎn)義。使用這個選項后,由用戶提供的命令將被忽略。如果客戶端請求一個pty,那么這個命令將會在pty上運(yùn)行,否則將以無終端方式運(yùn)行。如果必須使用8-bit clean(清除字節(jié)最高位)通道,那么就不能請求pty或者只能以無終端方式運(yùn)行。這個選項常用來讓某個特定的公鑰執(zhí)行特定的任務(wù)。比如僅僅將某一個公鑰用于執(zhí)行備份任務(wù)。需要注意的是,客戶端可以指定TCP和/或X11轉(zhuǎn)發(fā),除非它們已經(jīng)被明確禁止了。這個命令最初是由客戶端的 SSH_ORIGINAL_COMMAND 環(huán)境變量支持的。這個選項可以用于在 shell/命令/子系統(tǒng) 中執(zhí)行。environment="NAME=value"指定當(dāng)使用這個公鑰登錄時,將 NAME 環(huán)境變量的值設(shè)為 value 。用這種方式設(shè)置的環(huán)境變量將會覆蓋默認(rèn)的環(huán)境變量??梢远啻问褂眠@個選項指定多個環(huán)境變量。默認(rèn)禁止處理環(huán)境變量,不過可以通過 PermitUserEnvironment 配置指令進(jìn)行更改。如果啟用了 UseLogin ,那么這個選項將被自動禁止。from="pattern-list"指定在公鑰認(rèn)證之外,遠(yuǎn)程主機(jī)的規(guī)范名稱還必須被列在"pattern-list"里面。pattern-list 是逗號分隔的主機(jī)名列表。這個選項的目的主要是為了增加安全性。參見no-agent-forwarding當(dāng)這個公鑰用于認(rèn)證的時候,禁止使用認(rèn)證代理轉(zhuǎn)發(fā)。no-port-forwarding當(dāng)這個公鑰用于認(rèn)證的時候,禁止使用TCP轉(zhuǎn)發(fā)。任何客戶端的端口轉(zhuǎn)發(fā)請求都會被拒絕。比如在使用 command 選項的時候,就很可能同時需要使用這個選項。no-pty 禁止分配終端(客戶端要求分配終端的請求將會失敗)。no-X11-forwarding當(dāng)這個公鑰用于認(rèn)證的時候,禁止使用X11轉(zhuǎn)發(fā)(客戶端要求X11轉(zhuǎn)發(fā)的請求將會失敗)。permitopen="host:port"限制本地"ssh -L"端口轉(zhuǎn)發(fā),這樣就只能連接到特定的主機(jī)和端口。IPv6 地址也可以通過"host/port"這個特別的語法進(jìn)行指定??梢允褂枚鄠€ permitopen 選項。不允許在指定主機(jī)名時使用模式匹配,它們必須是精確的域名或ip地址。tunnel="n"在服務(wù)器上強(qiáng)制指定一個 tun(4) 設(shè)備。沒有這個選項的話,當(dāng)客戶端請求一個通道的時候,將會使用下一個可用的設(shè)備。一個 authorized_keys 文件示范:# 這是注釋ssh-rsa AAAAB3Nza...LiPk== user@example.netfrom="*.sales.example.net,!pc.sales.example.net" ssh-rsa AAAAB2...19Q== john@example.netcommand="dump /home",no-pty,no-port-forwarding ssh-dss AAAAC3...51R== example.netpermitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-dss AAAAB5...21S==tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAAE6...6DR== jane@example.netSSH_KNOWN_HOSTS 文件格式/etc/ssh/ssh_known_hosts 和 ~/.ssh/known_hosts 文件包含所有已知的主機(jī)公鑰,每行一個公鑰。全局文件應(yīng)當(dāng)由系統(tǒng)管理員維護(hù),每個用戶的文件則是自動維護(hù)的:當(dāng)用戶從一個未知主機(jī)連接成功,這個未知主機(jī)的公鑰將被自動添加到 ~/.ssh/known_hosts 文件中。這個文件中的字段格式可以有兩種,分別對應(yīng)SSH-1和SSH-2兩種協(xié)議。SSH-1:主機(jī)名,位數(shù),exponent,modulus,注釋SSH-2:主機(jī)名,公鑰類型,base64編碼后的公鑰,注釋。這些字段之間使用空白符分隔。而以''#''開頭的行和空白行都會被當(dāng)作注釋忽略。"主機(jī)名"字段是一個逗號分隔的模式列表(''*''和''?''可以用作通配符)。當(dāng)對客戶端進(jìn)行認(rèn)證的時候,將使用客戶端的規(guī)范化主機(jī)名按次序?qū)γ總€模式進(jìn)行匹配;當(dāng)對服務(wù)器進(jìn)行認(rèn)證的時候,將使用用戶提供的名稱按次序?qū)γ總€模式進(jìn)行匹配。每個模式前都可以加上''!''表示否定:如果某個主機(jī)名匹配一個否定模式,那么即使它能夠匹配其后的其它模式也會被拒絕。主機(jī)名或地址還可以使用''[''和'']''進(jìn)行界定,并在其后跟隨一個'':''和一個非標(biāo)準(zhǔn)的端口號。"主機(jī)名"字段的內(nèi)容還可以使用散列值存儲,以便于隱藏真實(shí)的主機(jī)名或地址,以增強(qiáng)安全性。使用''|''字符開頭就表示主機(jī)名已經(jīng)經(jīng)過散列計算。每一行最多只允許出現(xiàn)一個經(jīng)過散列的主機(jī)名,并且不允許對散列值使用前面提到過的通配符(*,?)或否定匹配(!)。"位數(shù),exponent,modulus"或"公鑰類型,base64編碼后的公鑰"直接取自RSA主機(jī)密鑰,比如從 /etc/ssh/ssh_host_key.pub 中直接復(fù)制??蛇x的"注釋"字段并沒有什么實(shí)際用途,僅僅是為了幫助說明此公鑰的相關(guān)信息。在進(jìn)行主機(jī)認(rèn)證時,只要有一行匹配就可以通過認(rèn)證。這樣同一個主機(jī)擁有多個公鑰,或者擁有多個主機(jī)名(長名、短名)。但這個特性也可能會導(dǎo)致該文件中包含相互沖突的信息,而只要有一行匹配就可以通過認(rèn)證。文件中的每一行都很長,你最好直接從 /etc/ssh/ssh_host_key.pub 文件中復(fù)制,然后在前面加上主機(jī)名。下面是一個 ssh_known_hosts 文件的示例:# 這是注釋closenet,...,192.0.2.53 1024 37 159...93 closenet.example.netcvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....=# 下面是一個經(jīng)過散列的主機(jī)名|1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa AAAA1234.....=文件~/.hushlogin就算 PrintLastLog 和 PrintMotd 配置指令被開啟,但是如果這個文件存在,那么也不會打印上次登錄時間和 /etc/motd 文件的內(nèi)容。不過它不會阻止打印 Banner 指令要求顯示的內(nèi)容。~/.rhosts這個文件用于基于主機(jī)的認(rèn)證(參見 ssh(1) 以獲取更多信息),里面列出允許登錄的主機(jī)/用戶對。在某些情況下這個文件可能需要被全局可讀,比如用戶的家目錄位于一個NFS分區(qū)上的時候。這個文件的屬主必須是這個對應(yīng)的用戶,且不能允許其它用戶寫入。大多數(shù)情況下推薦的權(quán)限是"600"。~/.shosts這個文件的用法與 .rhosts 完全一樣,只是在允許做基于主機(jī)的認(rèn)證同時防止 rlogin/rsh 登錄。~/.ssh/authorized_keys存放該用戶可以用來登錄的 RSA/DSA 公鑰。這個文件的格式上面已經(jīng)描述過了。這個文件的內(nèi)容并不需要十分的保密,但是推薦的權(quán)限仍然是"600"。如果這個文件、或者其所在目錄(~/.ssh)、或者用戶的家目錄,可以被其他用戶寫入,那么這個文件就可能會被其它未認(rèn)證用戶改寫。如果權(quán)限不對,sshd 默認(rèn)將不允許使用這個文件進(jìn)行認(rèn)證,除非 StrictModes 指令被設(shè)為 no 。可以通過下面的命令設(shè)置合格的權(quán)限:chmod go-w ~/ ~/.ssh ~/.ssh/authorized_keys~/.ssh/environment這個文件(如果存在)含有在登錄時附加定義的環(huán)境變量。這個文件的格式很簡單:空白行和''#''開頭的行被忽略,有效行的按照"name=value"的格式每行定義一個變量。這個文件的權(quán)限也應(yīng)當(dāng)是"600"。默認(rèn)是禁止使用這個文件處理環(huán)境變量的,但是可以通過 PermitUserEnvironment 配置指令開啟。~/.ssh/known_hosts包含沒有在 /etc/ssh/ssh_known_hosts 中列出的、該用戶登錄過的主機(jī)的公鑰。這個文件的格式參見前面的內(nèi)容。這個文件正確的權(quán)限應(yīng)當(dāng)是"600"。~/.ssh/rc在讀取并設(shè)置環(huán)境變量之后、運(yùn)行用戶shell或命令之前,所要執(zhí)行的初始化動作。這個文件正確的權(quán)限應(yīng)當(dāng)是"600"。/etc/hosts.allow/etc/hosts.denytcp-wrappers 用于根據(jù)源地址執(zhí)行訪問控制,這是其配置文件。更多細(xì)節(jié)參見 hosts_access(5) 手冊頁。/etc/hosts.equiv用于基于主機(jī)的認(rèn)證(參見 moduli(5) 手冊頁描述。/etc/motd"motd"的意思是"message of the day"(今日消息)。常用于廣播系統(tǒng)范圍的重要事件。一般在登錄系統(tǒng)后、執(zhí)行登錄shell前,由 login 顯示其中的內(nèi)容。但如果登錄用戶的家目錄下有 .hushlogin 文件則不顯示。/etc/nologin如果存在這個文件,sshd 將拒絕任何非root用戶的登錄,并向被拒絕的用戶顯示此文件的內(nèi)容。此文件必須確保全局可讀。/etc/shosts.equiv這個文件的用法與 hosts.equiv 完全相同,不同僅在于不允許使用 rsh/rlogin 。/etc/ssh/ssh_host_key/etc/ssh/ssh_host_dsa_key/etc/ssh/ssh_host_rsa_key這三個文件包含了主機(jī)私鑰,其屬主必須是root,權(quán)限應(yīng)該是"600"。如果權(quán)限不對,sshd 根本就會拒絕啟動。/etc/ssh/ssh_host_key.pub/etc/ssh/ssh_host_dsa_key.pub/etc/ssh/ssh_host_rsa_key.pub這三個文件包含了主機(jī)公鑰,其屬主必須是root,權(quán)限應(yīng)該是"644"。這些文件中包含的內(nèi)容必須與相應(yīng)的私鑰文件匹配。這些文件事實(shí)上并沒有被使用,只是為了用戶方便才提供這些文件的。比如,將公鑰添加到 ~/.ssh/authorized_keys 和 /etc/ssh/ssh_known_hosts 文件中。這些文件是使用 ssh-keygen(1) 創(chuàng)建的。/etc/ssh/ssh_known_hosts全局范圍的已知主機(jī)公鑰列表。系統(tǒng)管理員應(yīng)該把所需主機(jī)公鑰保存在這個文件中。這個文件的格式上文已經(jīng)有了詳細(xì)介紹。這個文件的屬主應(yīng)當(dāng)是root,權(quán)限應(yīng)當(dāng)是"644"。/etc/ssh/sshd_configsshd 的全局配置文件。文件格式和可用的配置指令在 sshd_config(5) 手冊頁介紹。/etc/ssh/sshrc類似于 ~/.ssh/rc ,但是針對全局有效。這個文件的屬主應(yīng)當(dāng)是root,權(quán)限應(yīng)當(dāng)是"644"。/var/emptysshd 在預(yù)認(rèn)證階段進(jìn)行特權(quán)分離時,將要切換到的虛根目錄。此目錄當(dāng)中不能包含任何文件,并且其屬主應(yīng)當(dāng)是root,權(quán)限應(yīng)當(dāng)是"000"。/var/run/sshd.pid存儲著 sshd 主監(jiān)聽進(jìn)程的進(jìn)程號。如果有多個在不同端口監(jiān)聽的主進(jìn)程,那么這個文件只包含最后一個啟動的監(jiān)聽進(jìn)程的進(jìn)程號。這個文件的內(nèi)容并不很重要,可以設(shè)為全局可讀。參見scp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1),ssh-keyscan(1), chroot(2), hosts_access(5), login.conf(5), moduli(5),sshd_config(5), inetd(8), sftp-server(8)作者OpenSSH is a derivative of the original and free ssh 1.2.12 release byTatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theode Raadt and Dug Song removed many bugs, re-added newer features and cre-ated OpenSSH. Markus Friedl contributed the support for SSH protocolversions 1.5 and 2.0. Niels Provos and Markus Friedl contributed supportfor privilege separation.警告System security is not improved unless rshd, rlogind, and rexecd are dis-abled (thus completely disabling rlogin and rsh into the machine).OpenBSD 4.2 June 7, 2007 9