1、 ssh獲取配置數(shù)據(jù)順序
1、命令行選項
2、用戶的配置文件(~/.ssh/config)
3、系統(tǒng)范圍的配置文件(/etc/ssh/ssh _ config)
除非另有說明,對于每個參數(shù),將使用第一個獲得的值。配置文件包含由 Host 規(guī)范分隔的部分,該部分僅應(yīng)用于與規(guī)范中給出的模式之一匹配的主機(jī)。匹配的主機(jī)名通常是命令行中給出的名稱(請參閱 CanonicalizeHostname 選項以了解異常情況)。
由于使用了每個參數(shù)的第一個獲得的值,因此應(yīng)該在文件的開頭附近給出更多特定于主機(jī)的聲明,在文件的結(jié)尾給出一般默認(rèn)值。
該文件包含關(guān)鍵字參數(shù)對,每行一個。以“ #”開頭的行和空行被解釋為注釋。參數(shù)可以選擇用雙引號(“)括起來,以表示包含空格的參數(shù)。配置選項可以用空格或可選的空格分隔,并且只有一個“ =”; 后一種格式對于避免在使用 ssh、 scp 和 sftp-o 選項指定配置選項時引用空格非常有用。
2、關(guān)鍵字
可能的關(guān)鍵字及其含義如下(注意,關(guān)鍵字不區(qū)分大小寫,參數(shù)區(qū)分大小寫) :
2.1 Host
限制下列聲明(直到下一個 Host 或者 Match
關(guān)鍵字)僅適用于那些匹配關(guān)鍵字之后給定的模式之一的主機(jī)。如果提供了多個模式,則應(yīng)該用空格分隔它們。單人間
*
’作為一種模式,可用于為所有主機(jī)提供全局默認(rèn)值。宿主通常是
主機(jī)名 命令行上給出的參數(shù)(請參見 CanonicalizeHostname 關(guān)鍵字)。
一個模式條目可以通過在前面加上一個嘆號(’!).如果一個被否定的條目被匹配,那么 Host 條目將被忽略,不管行中是否有其他模式匹配。因此,否定的匹配對于為通配符匹配提供異常非常有用。
有關(guān)模式的更多信息,請參見模式。
2.2 Match
限制下列聲明(直到下一個 Host 或者 Match 關(guān)鍵字) ,只有在下列情況下才能使用 Match
關(guān)鍵字已滿足。使用一個或多個條件或單個標(biāo)記指定匹配條件
all 可用的條件關(guān)鍵字是: canonical, final, exec, host, originalhost, user還有 localuser。的 all 標(biāo)準(zhǔn)必須單獨(dú)出現(xiàn)或緊接著出現(xiàn) canonical 或者 final。其他標(biāo)準(zhǔn)可以任意組合。所有標(biāo)準(zhǔn),但 all, canonical還有 ? final 需要一個論點(diǎn)。標(biāo)準(zhǔn)可能被否定 通過預(yù)設(shè)一個嘆號(“ !”)。 ?
Canonical 關(guān)鍵字只有在主機(jī)名規(guī)范化之后重新解析配置文件時才匹配(請參見 CanonicalizeHostname 選項)。這對于指定僅使用規(guī)范主機(jī)名的條件可能很有用。
Final 關(guān)鍵字請求重新解析配置(不管是否啟用 CanonicalizeHostname) ,并且僅在最后一次傳遞過程中進(jìn)行匹配。如果啟用 CanonicalizeHostname,則在同一傳遞過程中啟用規(guī)范匹配和最終匹配。
Exec 關(guān)鍵字在用戶的 shell 下執(zhí)行指定的命令。如果該命令返回零退出狀態(tài),則認(rèn)為該條件為 true。必須引用包含空格字符的命令。要執(zhí)行的參數(shù)接受 TOKENS 部分中描述的令牌。
其他關(guān)鍵字的條件必須是單個條目或逗號分隔的列表,并且可以使用 PATTERNS 部分中描述的通配符和否定運(yùn)算符。在使用 Hostname 或 CanonicalizeHostname 選項進(jìn)行任何替換之后,host 關(guān)鍵字的條件與目標(biāo)主機(jī)名匹配。由于在命令行中指定了主機(jī)名,所以 Origalhost 關(guān)鍵字與主機(jī)名匹配。User 關(guān)鍵字與遠(yuǎn)程主機(jī)上的目標(biāo)用戶名匹配。Localuser 關(guān)鍵字與運(yùn)行 ssh (1)的本地用戶的名稱匹配(這個關(guān)鍵字在系統(tǒng)范圍的 ssh _ config 文件中可能很有用)。
2.3 AddKeysToAgent
指定是否應(yīng)將鍵自動添加到正在運(yùn)行的 ssh-agent (1)中。如果將此選項設(shè)置為 yes 并從文件中加載密鑰,則該密鑰及其密碼短語將被添加到具有默認(rèn)生存期的代理中,就像通過 ssh-add (1)一樣。如果將此選項設(shè)置為詢問,則在添加密鑰之前,SSH (1)將需要使用 SSH _ ASKPASS 程序進(jìn)行確認(rèn)(有關(guān)詳細(xì)信息,請參閱 SSH-add (1))。如果將此選項設(shè)置為確,則必須確認(rèn)密鑰的每次使用,就像為 ssh-add (1)指定了-c 選項一樣。如果此選項設(shè)置為 no,則不向代理添加任何密鑰?;蛘?,可以使用 sshd _ config (5)的 TIME FORMATS 部分中描述的格式將此選項指定為一個時間間隔,以指定 ssh-agent (1)中密鑰的生存期,在此之后將自動刪除該密鑰。參數(shù)必須是 no (默認(rèn)值) ,yes (可以選擇后跟一個時間間隔) ,ask 或一個時間間隔。
2.4 AddressFamily
指定連接時使用哪個地址族。有效參數(shù)可以是任何(默認(rèn)值)、 inet (僅使用 IPv4)或 inet6(僅使用 IPv6)。
2.5 BatchMode
如果設(shè)置為 yes,則禁用諸如密碼提示和主機(jī)密鑰確認(rèn)請求之類的用戶交互。此選項在腳本和其他批處理作業(yè)中非常有用,這些作業(yè)中沒有用戶與 ssh (1)交互。參數(shù)必須是 yes 或 no (默認(rèn)值)。
2.6 BindAddress
使用本地計算機(jī)上的指定地址作為連接的源地址。只有在有多個地址的系統(tǒng)上才有用。
2.7 BindInterface
使用本地計算機(jī)上指定接口的地址作為連接的源地址。
2.8 CanonicalDomains
啟用 CanonicalizeHostname 時,此選項指定要在其中搜索指定目標(biāo)主機(jī)的域后綴列表。
2.9 CanonicalizeFallbackLocal
指定當(dāng)主機(jī)名規(guī)范化失敗時是否失敗并出現(xiàn)錯誤。默認(rèn)情況下,是的,將嘗試使用系統(tǒng)解析器的搜索規(guī)則查找不合格的主機(jī)名。如果啟用了 CanonicalizeHostname,并且在 CanonicalDomains 指定的任何域中都找不到目標(biāo)主機(jī)名,則 no 值將導(dǎo)致 ssh (1)立即失敗。
2.10 CanonicalizeHostname
控制是否執(zhí)行顯式主機(jī)名規(guī)范化, no
,不執(zhí)行任何名稱重寫,并讓系統(tǒng)解析器處理所有主機(jī)名查找。如果設(shè)置為
yes 然后,對于不使用 ProxyCommand 或者 ProxyJump, Ssh (1) 將嘗試規(guī)范化命令行上指定的主機(jī)名 CanonicalDomains 后綴和 CanonicalizePermittedCNAMEs 規(guī)則,如果 CanonicalizeHostname 被設(shè)置為 always,然后規(guī)范化也應(yīng)用于代理連接。
如果啟用此選項,則使用新的目標(biāo)名稱再次處理配置文件,以在匹配的 Host 和 Match 節(jié)中獲取任何新配置。如果值為 none,則禁用使用代理跳轉(zhuǎn)主機(jī)。
2.11 CanonicalizeMaxDots
指定禁用規(guī)范化之前主機(jī)名中的最大點(diǎn)字符數(shù)。默認(rèn)值1允許一個點(diǎn)(即 hostname.subdomain)。
2.12 CanonicalizePermittedCNAMEs
指定規(guī)則,以確定在規(guī)范化主機(jī)名時是否應(yīng)遵循 CNAME。規(guī)則由一個或多個
Source _ domain _ list 源 _ 域 _ 列表:Target _ domain _ list,在哪里 Source _ domain _ list 源 _ 域 _ 列表 是在規(guī)范化過程中可能遵循 CNAME 的域的模式列表,以及 Target _ domain _ list 是它們可能解析到的域的模式列表。
例如,“ * . a.example.com: * . b.example.com,* . c.example.com”將允許匹配“ * . a.example.com”的主機(jī)名被規(guī)范化為“ * . b.example.com”或“ * . c.example.com”域中的名稱。
一個“ none”參數(shù)將導(dǎo)致不考慮 CNAME 進(jìn)行規(guī)范化。這是默認(rèn)行為。
2.13 CASignatureAlgorithms
指定允許使用哪些算法對證書進(jìn)行簽名 證書頒發(fā)機(jī)構(gòu)(CA)。默認(rèn)值是:
Ssh-ed25519 ecdsa-sha2-nistp256,
ecdsa-sha2-nistp384 ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512 rsa-sha2-256
如果指定的列表以“ +”字符開頭,那么指定的算法將被附加到默認(rèn)集,而不是替換它們。如果指定的列表以“-”字符開頭,那么指定的算法(包括通配符)將從默認(rèn)集中刪除,而不是替換它們。
Ssh (1)將不接受使用指定算法以外的算法簽名的主機(jī)證書。
2.14 CertificateFile
指定從中讀取用戶證書的文件 必須分別提供相應(yīng)的私鑰才能使用此 證明書
IdentityFile 指令 或者 -i 旗幟 ? Ssh (1),通過 ? Ssh-agent (1)或通過一個 PKCS11Provider 或者 ? SecurityKeyProvider.
CericateFile 的參數(shù)可以使用波浪形語法來引用用戶的主目錄、 TOKENS 部分中描述的令牌和 ENVIRONMENT VARIABLES 部分中描述的環(huán)境變量。
可以在配置文件中指定多個證書文件; 將按順序嘗試這些證書。多個證書文件指令將添加到用于身份驗證的證書列表中。
2.15 CheckHostIP
如果設(shè)置為 yes,ssh (1)將額外檢查 known _ hosts 文件中的主機(jī) IP 地址。這允許它檢測主機(jī)密鑰是否由于 DNS 欺騙而更改,并將目標(biāo)主機(jī)的地址添加到 ~/。Ssh/known _ hosts,而不管 StrictHostKeyChecking 的設(shè)置如何。如果選項設(shè)置為 no (默認(rèn)值) ,則不執(zhí)行檢查。
2.16 Ciphers
指定允許的密碼及其首選項的順序 密碼必須以逗號分隔。如果指定的列表以 字符,則將附加指定的密碼 而不是替換它們。如果指定的列表開始 使用“-”字符,則指定的密碼(包括 將從默認(rèn)集中移除而不是替換它們。 如果指定的列表以“ ^”字符開頭,則 指定的密碼將放置在默認(rèn)集的頭部。 ?
支援的密碼包括:
3des-cbc
128-cbc
192-cbc
256-cbc
128-ctr
192-ctr
256-ctr
Es128-gcm@openssh.com
Es256-gcm@openssh.com
Chacha20-poly1305@openssh.com
默認(rèn)值是:
電子郵件: chacha20-poly1305@openssh.com,
128-ctr,192-ctr,256-ctr,
es128-gcm@openssh.com,es256-gcm@openssh.com
也可以使用“ ssh-Q 密碼”獲得可用密碼的列表。
2.17 ClearAllForwardings
指定清除配置文件或命令行中指定的所有本地、遠(yuǎn)程和動態(tài)端口轉(zhuǎn)發(fā)。當(dāng)從 ssh (1)命令行使用該選項來清除配置文件中設(shè)置的端口轉(zhuǎn)發(fā)時,該選項非常有用,并且由 scp (1)和 sftp (1)自動設(shè)置。參數(shù)必須是 yes 或 no (默認(rèn)值)。
2.18 Compression
指定是否使用壓縮。參數(shù)必須是是或否(默認(rèn)值)。
2.19 ConnectionAttempts
指定退出前要進(jìn)行的嘗試次數(shù)(每秒一次)。參數(shù)必須是整數(shù)。如果連接有時失敗,這在腳本中可能很有用。默認(rèn)值是1。
2.20 ConnectTimeout
指定連接到 SSH 服務(wù)器時使用的超時(秒) ,而不使用默認(rèn)的系統(tǒng) TCP 超時。這個超時既適用于建立連接,也適用于執(zhí)行初始 SSH 協(xié)議握手和密鑰交換。
2.21 ControlMaster
啟用通過單個網(wǎng)絡(luò)連接共享多個會話 yes, Ssh (1) 方法指定的控件套接字上的連接 ControlPath 其他會話可以使用相同的 ControlPath 和 ControlMaster 準(zhǔn)備好了 no(默認(rèn)值)。這些會話將嘗試重用主實例的網(wǎng)絡(luò)連接,而不是啟動新的網(wǎng)絡(luò)連接,但是如果控制套接字不存在,或者沒有監(jiān)聽,會回到正常連接。
將此設(shè)置為 ask 將導(dǎo)致 ssh (1)偵聽控制連接,但需要使用 ssh-askpass (1)進(jìn)行確認(rèn)。如果 ControlPath 無法打開,ssh (1)將繼續(xù)運(yùn)行,而不連接到主實例。
在這些多路連接上支持 X11和 ssh-agent (1)轉(zhuǎn)發(fā),但是轉(zhuǎn)發(fā)的顯示和代理將屬于主連接,即不可能轉(zhuǎn)發(fā)多個顯示或代理。
另外還有兩個選項允許機(jī)會多路復(fù)用: 嘗試使用主連接,但是如果還沒有主連接,就回過頭來創(chuàng)建一個新連接。這些選項是: 自動和自動請求。后者與詢問選項一樣需要確認(rèn)。
2.22 ControlPath
指定用于連接共享的控制套接字的路徑,如上面 ControlMaster 部分所述,或指定禁用連接共享的字符串 none。ControlPath 的參數(shù)可以使用波浪形語法來引用用戶的主目錄、 TOKENS 部分中描述的令牌和 ENVIRONMENT VARIABLES 部分中描述的環(huán)境變量。建議用于機(jī)會連接共享的任何 ControlPath 至少包括% h、% p 和% r (或者% C) ,并放置在其他用戶無法寫入的目錄中。這確保了共享連接的唯一標(biāo)識。
2.23 ControlPersist
與 ControlMaster 一起使用時,指定在初始客戶端連接關(guān)閉后,主連接應(yīng)在后臺保持打開(等待將來的客戶端連接)。如果設(shè)置為 no (默認(rèn)值) ,那么主連接將不會放在后臺,并且在初始客戶端連接關(guān)閉時立即關(guān)閉。如果設(shè)置為 yes 或0,那么主連接將無限期地保留在后臺(直到通過“ ssh-O 出口”等機(jī)制關(guān)閉或終止)。如果設(shè)置為以秒為單位的時間,或者以 sshd _ config (5)中記錄的任何格式的時間,那么后臺主連接將在指定時間內(nèi)保持空閑(沒有客戶端連接)后自動終止。
2.24 DynamicForward
指定將本地計算機(jī)上的 TCP 端口轉(zhuǎn)發(fā)到 安全信道,然后使用應(yīng)用程序協(xié)議確定 從遠(yuǎn)程計算機(jī)連接到哪里。 ?
參數(shù)必須是[ bind _ address: ] port。IPv6地址可以通過將地址放在方括號中來指定。默認(rèn)情況下,根據(jù) GatewayPorts 設(shè)置綁定本地端口。但是,可以使用顯式 bind _ address 將連接綁定到特定地址。Localhost 的 bind _ address 表示監(jiān)聽端口只為本地使用而綁定,而空地址或“ *”表示該端口應(yīng)可從所有接口使用。
目前支持 SOCKS4和 SOCKS5協(xié)議,ssh (1)將充當(dāng) SOCKS 服務(wù)器??梢灾付ǘ鄠€轉(zhuǎn)發(fā),并且可以在命令行上給出其他轉(zhuǎn)發(fā)。只有超級用戶可以轉(zhuǎn)發(fā)特權(quán)端口。
2.25 EnableEscapeCommandline
為交互式會話啟用 EscapeChar 菜單中的命令行選項(默認(rèn)為‘ ~ C’)。默認(rèn)情況下,禁用命令行。
2.26 EnableSSHKeysign
在全局客戶機(jī)配置文件/etc/ssh/ssh _ config 中將此選項設(shè)置為 yes,可以在 HostbasedAuthentication 期間使用輔助程序 ssh-keysign (8)。參數(shù)必須是 yes 或 no (默認(rèn)值)。這個選項應(yīng)該放在非主機(jī)特定的部分。有關(guān)更多信息,請參見 ssh-keysign (8)。
2.27 EscapeChar
設(shè)置轉(zhuǎn)義字符(默認(rèn)值: ‘ ~’)。還可以在命令行上設(shè)置轉(zhuǎn)義字符。參數(shù)應(yīng)該是一個單獨(dú)的字符,“ ^”后面跟一個字母,或者沒有字符來完全禁用轉(zhuǎn)義字符(使連接對于二進(jìn)制數(shù)據(jù)是透明的)。
2.28 ExitOnForwardFailure
指定如果 ssh (1)不能設(shè)置所有請求的動態(tài)、隧道、本地和遠(yuǎn)程端口轉(zhuǎn)發(fā),是否應(yīng)該終止連接(例如,如果任何一端都不能綁定和偵聽指定的端口)。請注意,ExitOnForwardfalse 不適用于通過端口轉(zhuǎn)發(fā)建立的連接,例如,如果到最終轉(zhuǎn)發(fā)目標(biāo)的 TCP 連接失敗,也不會導(dǎo)致 ssh (1)退出。參數(shù)必須是 yes 或 no (默認(rèn)值)。
2.29 FingerprintHash
指定顯示密鑰指紋時使用的哈希算法。有效選項為: md5和 sha256(默認(rèn)值)。
2.30 ForkAfterAuthentication
請求 ssh 在命令執(zhí)行之前轉(zhuǎn)到后臺 ssh
將要求密碼或密碼短語,但用戶希望它在后臺。這意味著
StdinNull
配置選項被設(shè)置為“是”。在遠(yuǎn)程站點(diǎn)啟動 X11程序的推薦方法是
ssh -f host xterm,這是相同的 ssh host xterm 如果 ForkAfterAuthentication 配置選項設(shè)置為“是”。
如果 ExitOnForwardFalse 配置選項被設(shè)置為“ yes”,那么客戶端啟動時 ForkAfterAuthentication 配置選項被設(shè)置為“ yes”,那么客戶端將等待所有遠(yuǎn)程端口轉(zhuǎn)發(fā)成功建立,然后再將自己置于后臺。這個關(guān)鍵字的參數(shù)必須是 yes (與-f 選項相同)或 no (默認(rèn)值)。
2.31 ForwardAgent
指定是否將到身份驗證代理的連接(如果有的話)轉(zhuǎn)發(fā)到遠(yuǎn)程計算機(jī)。理由可能是
yes, no
(默認(rèn)值) ,代理套接字的顯式路徑,或查找路徑的環(huán)境變量的名稱(以“ $”開頭)。
代理轉(zhuǎn)發(fā)應(yīng)謹(jǐn)慎啟用。能夠繞過遠(yuǎn)程主機(jī)(代理的 Unix 域套接字)上的文件權(quán)限的用戶可以通過轉(zhuǎn)發(fā)連接訪問本地代理。攻擊者無法從代理獲得密鑰材料,但是他們可以對密鑰執(zhí)行操作,使他們能夠使用加載到代理中的標(biāo)識進(jìn)行身份驗證。
2.32 ForwardX11
指定是否將 X11連接自動重定向到安全通道和 DISPLAY 論點(diǎn)必須是 yes 或者 no (默認(rèn)值)。
X11轉(zhuǎn)發(fā)應(yīng)謹(jǐn)慎啟用。具有繞過遠(yuǎn)程主機(jī)(用于用戶的 X11授權(quán)數(shù)據(jù)庫)的文件權(quán)限的用戶可以通過轉(zhuǎn)發(fā)連接訪問本地 X11顯示。如果也啟用了 ForwardX11Trusted 選項,那么攻擊者就可以執(zhí)行諸如擊鍵監(jiān)視之類的活動。
2.33 ForwardX11Timeout
使用 sshd _ config (5)的 TIME FORMATS 部分中描述的格式為不受信任的 X11轉(zhuǎn)發(fā)指定超時。此時以后 ssh (1)接收到的 X11連接將被拒絕。將 ForwardX11Timeout 設(shè)置為零將禁用超時并允許 X11在連接生命周期內(nèi)進(jìn)行轉(zhuǎn)發(fā)。默認(rèn)情況下,在20分鐘后禁用不受信任的 X11轉(zhuǎn)發(fā)。
2.34 ForwardX11Trusted
如果此選項設(shè)置為 yes,遠(yuǎn)程 X11客戶端將完全訪問原始 X11顯示器。
如果此選項設(shè)置為 no (默認(rèn)值) ,則遠(yuǎn)程 X11客戶端將被視為不受信任,并防止竊取或篡改屬于受信任的 X11客戶端的數(shù)據(jù)。此外,用于會話的 xauth (1)令牌將在20分鐘后過期。此后將拒絕遠(yuǎn)程客戶端訪問。
請參閱 X11SECURITY 擴(kuò)展規(guī)范,了解對不可信客戶機(jī)施加的限制的詳細(xì)信息。
2.35 GatewayPorts
指定是否允許遠(yuǎn)程主機(jī)連接到本地轉(zhuǎn)發(fā)端口。默認(rèn)情況下,ssh (1)將本地端口轉(zhuǎn)發(fā)綁定到環(huán)回地址。這將防止其他遠(yuǎn)程主機(jī)連接到轉(zhuǎn)發(fā)端口。GatewayPorts 可以用來指定 ssh 應(yīng)該將本地端口轉(zhuǎn)發(fā)綁定到通配符地址,從而允許遠(yuǎn)程主機(jī)連接到轉(zhuǎn)發(fā)端口。參數(shù)必須是 yes 或 no (默認(rèn)值)。
2.36 GlobalKnownHostsFile
指定要用于全局主機(jī)密鑰數(shù)據(jù)庫的一個或多個文件,以空格分隔。默認(rèn)值是/etc/ssh/ssh _ known _ hosts,/etc/ssh/ssh _ known _ hosts2。
2.37 GSSAPIAuthentication
指定是否允許基于 GSSAPI 的用戶身份驗證。默認(rèn)值為 no。
GSSAPIDelegateCredentials
將(委托)憑據(jù)轉(zhuǎn)發(fā)到服務(wù)器。默認(rèn)值為 no。
2.38 HashKnownHosts
指示 ssh (1)應(yīng)該在將主機(jī)名和地址添加到 ~/時散列它們。Ssh/known _ hosts.Ssh (1)和 sshd (8)通常可以使用這些散列名稱,但是如果文件的內(nèi)容被公開,它們就不會直觀地顯示標(biāo)識信息。默認(rèn)值是否定的。注意,已知主機(jī)文件中的現(xiàn)有名稱和地址不會自動轉(zhuǎn)換,但可以使用 ssh-keygen (1)手動散列。
HostbasedAcceptedAlgorithms
將用于基于主機(jī)的身份驗證的簽名算法指定為以逗號分隔的模式列表?;蛘?,如果指定的列表以“ +”字符開頭,那么指定的簽名算法將附加到默認(rèn)集,而不是替換它們。如果指定的列表以“-”字符開頭,那么指定的簽名算法(包括通配符)將從默認(rèn)集中刪除,而不是替換它們。如果指定的列表以“ ^”字符開頭,那么指定的簽名算法將放在默認(rèn)集的前面。這個選項的默認(rèn)值是:
Ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512 rsa-sha2-256
Ssh (1)的-Q 選項可用于列出受支持的簽名算法。
2.39 HostbasedAuthentication
指定是否嘗試使用公共密鑰認(rèn)證的基于 rhosts 的身份驗證。參數(shù)必須為 yes 或 no (默認(rèn)值)。
HostKeyAlgorithms
指定客戶端希望按照首選項順序使用的主機(jī)密鑰簽名算法。或者,如果指定的列表以“ +”字符開頭,那么指定的簽名算法將附加到默認(rèn)集,而不是替換它們。如果指定的列表以“-”字符開頭,那么指定的簽名算法(包括通配符)將從默認(rèn)集中刪除,而不是替換它們。如果指定的列表以“ ^”字符開頭,那么指定的簽名算法將放在默認(rèn)集的前面。這個選項的默認(rèn)值是:
19-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,sk-ssh-ed25519@openssh.com,rsa-sha2-512,rsa-sha2-256
如果已知目標(biāo)主機(jī)的主機(jī)密鑰,那么這個默認(rèn)值將被修改為更喜歡它們的算法。
可用的簽名算法列表也可以使用“ ssh-Q HostKey 算法”獲得。
2.40 HostKeyAlias
指定在查找或保存主機(jī)密鑰數(shù)據(jù)庫文件中的主機(jī)密鑰以及驗證主機(jī)證書時應(yīng)使用的別名,而不是真正的主機(jī)名。此選項對于隧道 SSH 連接或在單個主機(jī)上運(yùn)行的多個服務(wù)器非常有用。
2.41 Hostname
指定要登錄的實際主機(jī)名。這可用于指定主機(jī)的昵稱或縮寫。Hostname 的參數(shù)接受 TOKENS 部分中描述的令牌。還允許使用數(shù)字 IP 地址(在命令行和主機(jī)名規(guī)范中)。默認(rèn)值是命令行中給定的名稱。
2.42 IdentitiesOnly
指定即使 ssh-agent (1)或 PKCS11Provider 或 SecurityKeyProvider 提供更多標(biāo)識,ssh (1)也應(yīng)該只使用配置的身份驗證標(biāo)識和證書文件(默認(rèn)文件,或者在 ssh _ config 文件中顯式配置的文件,或者在 ssh (1)命令行上傳遞的文件)。這個關(guān)鍵字的參數(shù)必須是 yes 或 no (默認(rèn)值)。此選項適用于 ssh-agent 提供許多不同身份的情況。
2.43 IdentityAgent
指定 UNIX- 用于與認(rèn)證代理通信的域套接字。
此選項覆蓋 SSH _ AUTH _ SOCK 環(huán)境變量,可用于選擇特定的代理。將套接字名稱設(shè)置為 no 將禁用身份驗證代理的使用。如果指定了字符串“ SSH _ AUTH _ SOCK”,套接字的位置將從 SSH _ AUTH _ SOCK 環(huán)境變量讀取。否則,如果指定的值以“ $”字符開頭,那么它將被視為一個包含套接字位置的環(huán)境變量。
IdentityAgent 的參數(shù)可以使用波浪形語法來引用用戶的主目錄、 TOKENS 部分中描述的令牌和 ENVIRONMENT VARIABLES 部分中描述的環(huán)境變量。
2.44 IdentityFile
指定從中讀取用戶的 DSA、 ECDSA、身份驗證器托管的 ECDSA、 Ed25519、身份驗證器托管的 ed25519或 RSA 身份驗證標(biāo)識的文件。您還可以指定一個公鑰文件來使用加載到其中的相應(yīng)私鑰
Ssh-agent (1) 當(dāng)私鑰文件不在本地時。默認(rèn)值為 ~/. ssh/id _ rsa, ~/. ssh/id _ ecdsa, ~/. ssh/id _ ecdsa _ sk, ~/. ssh/id _ ed25519, ~/. ssh/id _ ed25519 _ sk 還有 ~/. ssh/id _ dsa?.此外,身份驗證代理表示的任何身份都將用于身份驗證,除非 IdentitiesOnly 如果沒有顯式指定任何證書,則 CertificateFile, Ssh (1) 將嘗試從通過附加 當(dāng)然,酒吧 到指定的 IdentityFile.
IdentityFile 的參數(shù)可以使用波浪形語法來引用用戶的主目錄或 TOKENS 部分中描述的令牌。
可以在配置文件中指定多個標(biāo)識文件; 將按順序嘗試所有這些標(biāo)識。多個 IdentityFile 指令將添加到已嘗試的標(biāo)識列表中(此行為不同于其他配置指令的行為)。
IdentityFile 可以與 IdentitiesOnly 結(jié)合使用,以選擇在身份驗證期間提供代理中的哪些身份。IdentityFile 還可以與 CericateFile 一起使用,以提供使用標(biāo)識進(jìn)行身份驗證所需的任何證書。
2.45 IgnoreUnknown
指定在配置解析中遇到未知選項時要忽略的未知選項的模式列表。如果 ssh _ config 包含 ssh (1)無法識別的選項,則可以使用這種方法來抑制錯誤。建議在配置文件的早期列出 IgnoreUnknown,因為它不會應(yīng)用于出現(xiàn)在它之前的未知選項。
2.46 Include
包括指定的配置文件??梢灾付ǘ鄠€路徑名,每個路徑名可以包含 globb (7)通配符,對于用戶配置,類似 shell 的“ ~”引用指向用戶主目錄。通配符將按照詞法順序展開和處理。假設(shè)沒有絕對路徑的文件位于 ~/。Ssh (如果包含在用戶配置文件中)或/etc/ssh (如果包含在系統(tǒng)配置文件中)。頭文件可以出現(xiàn)在 Match 或 Host 塊中執(zhí)行條件包含。
2.47 IPQoS
為連接指定 IPv4服務(wù)類型或 DSCP 類。接受的值是 af11,af12,af13,af21,af22,af23,af31,af32,af33,af41,af42,af43,cs0,cs1,cs2,cs3,cs4,cs5,cs6,cs7,ef,le,lowlate,吞吐量,可靠性,數(shù)值,或沒有使用操作系統(tǒng)默認(rèn)值。此選項可以采用一個或兩個參數(shù),用空格分隔。如果指定了一個參數(shù),則無條件地將其用作數(shù)據(jù)包類。如果指定了兩個值,則自動為交互式會話選擇第一個值,為非交互式會話選擇第二個值。交互式會話的默認(rèn)值為 af21(低延遲數(shù)據(jù)) ,非交互式會話的默認(rèn)值為 cs1(較低的工作量)。
2.48 KbdInteractiveAuthentication
指定是否使用鍵盤交互式身份驗證。此關(guān)鍵字的參數(shù)必須是 yes (默認(rèn)值)或 no。ChallengeResponseAuthentication 是此。
2.49 KbdInteractiveDevices
指定在鍵盤交互式身份驗證中要使用的方法的列表。多個方法名稱必須以逗號分隔。默認(rèn)情況下使用服務(wù)器指定的列表??捎玫姆椒ǜ鶕?jù)服務(wù)器支持的內(nèi)容而有所不同。對于 OpenSSH 服務(wù)器,它可能是0或更多的: bsdauth、 pam 和 skey。
2.50 KexAlgorithms
指定可用的 KEX (密鑰交換)算法。多個算法必須以逗號分隔。如果指定的列表以“ +”字符開頭,那么指定的算法將被附加到默認(rèn)集,而不是替換它們。如果指定的列表以“-”字符開頭,那么指定的算法(包括通配符)將從默認(rèn)集中刪除,而不是替換它們。如果指定的列表以“ ^”字符開頭,那么指定的算法將放在默認(rèn)集的前面。默認(rèn)值是:
Sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,defie-hellman-group-exchange-sha256,defie-hellman-group16-sha512,defie-hellman-group18-sha512,defie-hellman-group14-sha256
也可以使用“ ssh-Q kex”獲得可用的密鑰交換算法列表。
2.51 KnownHostsCommand
指定用于獲取主機(jī)密鑰列表的命令,以及 UserKnownHostsFile 和 GlobalKnownHostsFile 中列出的命令。這個命令在讀取文件之后執(zhí)行。它可以將主機(jī)密鑰行以與通常文件相同的格式寫入標(biāo)準(zhǔn)輸出(在 ssh (1)中的 VERIFYING HOST KEYS 部分中進(jìn)行了描述)。KnownHostsCommand 的參數(shù)接受 TOKENS 部分中描述的令牌。每個連接可以多次調(diào)用該命令: 一次是在準(zhǔn)備要使用的主機(jī)密鑰算法的首選項列表時,另一次是為了獲得所請求的主機(jī)名的主機(jī)密鑰,如果啟用 CheckHostIP,再一次是為了獲得與服務(wù)器地址相匹配的主機(jī)密鑰。如果命令不正常退出或返回非零退出狀態(tài),則連接終止。
2.52 LocalCommand
指定成功后在本地計算機(jī)上執(zhí)行的命令 連接到服務(wù)器。命令字符串?dāng)U展到 行,并使用用戶的 shell 執(zhí)行 ?
LocalCommand 接受 ? 代幣 部分。 ?
該命令同步運(yùn)行,不能訪問產(chǎn)生它的 ssh (1)的會話。它不應(yīng)該用于交互式命令。
除非啟用了 PermitLocalCommand,否則將忽略此指令。
2.53 LocalForward
指定將本地計算機(jī)上的 TCP 端口轉(zhuǎn)發(fā)到 保護(hù)從遠(yuǎn)程計算機(jī)到指定主機(jī)和端口的通道 第一個參數(shù)指定偵聽器,并且可以是 [
Bind _ address:]左舷 或者 Unix 域套接字路徑。第二個參數(shù)是目標(biāo),可以是 ? 主持人:機(jī)場 或 Unix 域名 套接字路徑,如果遠(yuǎn)程主機(jī)支持它。 ?
IPv6地址可以通過將地址放在方括號中來指定。可以指定多個轉(zhuǎn)發(fā),并且可以在命令行上給出其他轉(zhuǎn)發(fā)。只有超級用戶可以轉(zhuǎn)發(fā)特權(quán)端口。默認(rèn)情況下,根據(jù) GatewayPorts 設(shè)置綁定本地端口。但是,可以使用顯式 bind _ address 將連接綁定到特定地址。Localhost 的 bind _ address 表示監(jiān)聽端口只為本地使用而綁定,而空地址或“ *”表示該端口應(yīng)可從所有接口使用。Unix domain socket 路徑可以使用 TOKENS 部分中描述的令牌和 ENVIRONMENT VARIABLES 部分中描述的環(huán)境變量。
2.54 LogLevel
給出從 ssh (1)記錄消息時使用的詳細(xì)級別??赡艿闹凳? QUIEET、 FATAL、 ERROR、 INFO、 VERBOSE、 DEBUG、 DEBUG1、 DEBUG2和 DEBUG3。默認(rèn)值是 INFO。DEBUG 和 DEBUG1是等價的。DEBUG2和 DEBUG3分別指定更高級別的詳細(xì)輸出。
2.55 LogVerbose
指定一個或多個對 LogLevel 的重寫 與源文件、函數(shù)和行號匹配的 強(qiáng)制進(jìn)行詳細(xì)的日志記錄。例如,重寫模式為: ?
C: * : 1000,* : kex _ exchange _ Identity () : * ,packet.c: *
將為 kex.c 的第1000行、 kex _ exchange _ Identity ()函數(shù)中的所有內(nèi)容以及 packet.c 文件中的所有代碼啟用詳細(xì)的日志記錄。此選項用于調(diào)試,默認(rèn)情況下不啟用重寫。
2.56 MACs
按照優(yōu)先順序指定 MAC (訊息鑑別碼)算法。MAC 算法用于數(shù)據(jù)完整性保護(hù)。多個算法必須以逗號分隔。如果指定的列表以“ +”字符開頭,那么指定的算法將被附加到默認(rèn)集,而不是替換它們。如果指定的列表以“-”字符開頭,那么指定的算法(包括通配符)將從默認(rèn)集中刪除,而不是替換它們。如果指定的列表以“ ^”字符開頭,那么指定的算法將放在默認(rèn)集的前面。
包含“-etm”的算法在加密后計算 MAC (然后加密 MAC)。這些算法被認(rèn)為更安全,建議使用。
默認(rèn)值是:
Hmac-sha2-512-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1-etm@openssh.com,hmac-sha2-512,hmac-sha1-etm@openssh.com,hmac-sha2-512,hmac-sha1,hmac-sha1-etm@openssh.com,hmac-sha2-512,hmac
可用的 MAC 算法列表也可以使用“ ssh-Q MAC”獲得。
2.57 NoHostAuthenticationForLocalhost
禁用 localhost 的主機(jī)身份驗證(環(huán)回地址)。此關(guān)鍵字的參數(shù)必須是 yes 或 no (默認(rèn)值)。
2.58 NumberOfPasswordPrompts
指定放棄之前的密碼提示數(shù)。此關(guān)鍵字的參數(shù)必須是整數(shù)。默認(rèn)值是3。
2.59 PasswordAuthentication
指定是否使用密碼身份驗證。此關(guān)鍵字的參數(shù)必須是 yes (默認(rèn)值)或 no。
2.60PermitLocalCommand
允許通過 LocalCommand 選項或使用!Ssh (1)中的命令轉(zhuǎn)義序列。參數(shù)必須是 yes 或 no (默認(rèn)值)。
2.61 PermitRemoteOpen
指定遠(yuǎn)程 TCP 端口轉(zhuǎn)發(fā)到的目的地 允許的時間 RemoteForward
用作襪子 轉(zhuǎn)發(fā)說明書必須是下列表格之一: ?
PermitRemoteOpen 主機(jī): 端口
PermitRemoteOpen IPv4 _ addr: port
PermitRemoteOpen [ IPv6 _ addr ] : port
可以通過使用空格分隔它們來指定多個轉(zhuǎn)發(fā)??梢允褂?any 參數(shù)來消除所有限制并允許任何轉(zhuǎn)發(fā)請求。無參數(shù)可用于禁止所有轉(zhuǎn)發(fā)請求。通配符‘ *’可用于主機(jī)或端口,以分別允許所有主機(jī)或端口。否則,不會對提供的名稱執(zhí)行模式匹配或地址查找。
2.62 PKCS11Provider
指定要使用哪個 PKCS # 11提供程序或不使用任何提供程序以指示不應(yīng)使用提供程序(默認(rèn)情況下)。這個關(guān)鍵字的參數(shù)是到 PKCS # 11共享庫 ssh (1)的路徑,ssh (1)應(yīng)該使用這個路徑與提供用戶身份驗證密鑰的 PKCS # 11令牌通信。
2.63 Port
指定要在遠(yuǎn)程主機(jī)上連接的端口號。默認(rèn)為22。
2.64 PreferredAuthentications
指定客戶端嘗試身份驗證方法的順序。這允許客戶端選擇一種方法(例如。
keyboard-interactive). password) ,默認(rèn)值為:
Gssapi-with-mic,主機(jī)為基礎(chǔ),公鑰,鍵盤交互,密碼
2.65 ProxyCommand
指定用于連接到服務(wù)器的命令。命令字符串?dāng)U展到行尾,并使用用戶的 shell’執(zhí)行
exec指令來避免延遲的 shell 進(jìn)程。
ProxyCommand 的參數(shù)接受 TOKENS 部分中描述的令牌。該命令基本上可以是任何內(nèi)容,并且應(yīng)該從其標(biāo)準(zhǔn)輸入讀取并寫入到其標(biāo)準(zhǔn)輸出。它最終應(yīng)該連接某臺機(jī)器上運(yùn)行的 sshd (8)服務(wù)器,或者在某處執(zhí)行 sshd-i。主機(jī)密鑰管理將使用所連接的主機(jī)的主機(jī)名(默認(rèn)為用戶鍵入的名稱)來完成。將命令設(shè)置為 none 將完全禁用此選項。請注意,CheckHostIP 不適用于使用代理命令進(jìn)行連接。
本指令與 nc (1)及其代理支持結(jié)合使用非常有用。例如,下面的指令將通過 HTTP 代理連接到192.0.2.0:
ProxyCommand/usr/bin/nc-X connect-x 192.0.2.0:8080% h% p
2.66 ProxyJump
Specifies one or more jump proxies as either [user@]host[:port] or an ssh URI. Multiple proxies may be separated by comma characters and will be visited sequentially. Setting this option will cause ssh(1) to connect to the target host by first making a ssh(1) connection to the specified ProxyJump host and then establishing a TCP forwarding to the ultimate target from there. Setting the host to none disables this option entirely.
Note that this option will compete with the ProxyCommand option - whichever is specified first will prevent later instances of the other from taking effect.
Note also that the configuration for the destination host (either supplied via the command-line or the configuration file) is not generally applied to jump hosts. ~/.ssh/config should be used if specific configuration is required for jump hosts.
2.67 ProxyUseFdpass
Specifies that ProxyCommand will pass a connected file descriptor back to ssh(1) instead of continuing to execute and pass data. The default is no.
2.68 PubkeyAcceptedAlgorithms
Specifies the signature algorithms that will be used for public key authentication as a comma-separated list of patterns. If the specified list begins with a ‘+’ character, then the algorithms after it will be appended to the default instead of replacing it. If the specified list begins with a ‘-’ character, then the specified algorithms (including wildcards) will be removed from the default set instead of replacing them. If the specified list begins with a ‘^’ character, then the specified algorithms will be placed at the head of the default set. The default for this option is:
ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256
可用的簽名算法列表也可以使用“ ssh-QPubkeyAccepted”獲得。
2.69 PubkeyAuthentication
指定是否嘗試公共密鑰認(rèn)證。這個關(guān)鍵字的參數(shù)必須是 yes (默認(rèn)值)、 no、 unbound 或 host-bound。最后兩個選項啟用公共密鑰認(rèn)證,同時分別禁用或啟用受限 ssh-agent (1)轉(zhuǎn)發(fā)所需的 OpenSSH 主機(jī)綁定身份驗證協(xié)議擴(kuò)展。
2.70 RekeyLimit
指定在重新協(xié)商會話密鑰之前可以傳輸或接收的最大數(shù)據(jù)量,還可以選擇在重新協(xié)商會話密鑰之前可以傳遞或接收的最大時間量。第一個參數(shù)以字節(jié)為單位指定,后綴可以是‘ K’、‘ M’或‘ G’,分別表示千字節(jié)、兆字節(jié)或千兆字節(jié)。默認(rèn)值在“1G”和“4G”之間,這取決于密碼。可選的第二個值以秒為單位,可以使用 sshd _ config (5)的 TIME FORMATS 部分中記錄的任何單元。RekeyLimit 的默認(rèn)值為 default none,這意味著在發(fā)送或接收密碼的默認(rèn)數(shù)據(jù)量之后執(zhí)行密鑰更新,不執(zhí)行基于時間的密鑰更新。
2.71 RemoteCommand
指定在成功連接到服務(wù)器后要在遠(yuǎn)程計算機(jī)上執(zhí)行的命令。命令字符串?dāng)U展到行尾,并使用用戶的 shell 執(zhí)行。RemoteCommand 的參數(shù)接受 TOKENS 部分中描述的令牌。
2.72 RemoteForward
指定將遠(yuǎn)程計算機(jī)上的 TCP 端口轉(zhuǎn)發(fā)到 遠(yuǎn)程端口可以轉(zhuǎn)發(fā)到指定的 主機(jī)和端口從本地機(jī)器,或可以作為一個 SOCKS 4/5代理,即 允許遠(yuǎn)程客戶端從本地連接到任意目標(biāo) 第一個論點(diǎn)是聽力規(guī)范,可以是 [
Bind _ address:]左舷
或者,如果 遠(yuǎn)程主機(jī)支持 Unix domain socket 路徑 那么第二個參數(shù)必須是 ?
主持人:機(jī)場
或 Unix 域名 套接字路徑,否則,如果未指定目標(biāo)參數(shù),則 遠(yuǎn)程轉(zhuǎn)發(fā)將作為 SOCKS 代理建立 SOCKS 代理,連接的目的地可以通過 ?
PermitRemoteOpen.
IPv6地址可以通過將地址放在方括號中來指定。可以指定多個轉(zhuǎn)發(fā),并且可以在命令行上給出其他轉(zhuǎn)發(fā)。只有以 root 身份在遠(yuǎn)程計算機(jī)上登錄時,才能轉(zhuǎn)發(fā)特權(quán)端口。Unix domain socket 路徑可以使用 TOKENS 部分中描述的令牌和 ENVIRONMENT VARIABLES 部分中描述的環(huán)境變量。
如果 port 參數(shù)為0,偵聽端口將在服務(wù)器上動態(tài)分配,并在運(yùn)行時報告給客戶機(jī)。
如果沒有指定 bind _ address,則默認(rèn)情況下只綁定到環(huán)回地址。如果 bind _ address 是“ *”或空字符串,則請求轉(zhuǎn)發(fā)監(jiān)聽所有接口。只有在啟用服務(wù)器的 GatewayPorts 選項時,指定遠(yuǎn)程 bind _ address 才會成功(請參見 sshd _ config (5))。
2.73 RequestTTY
指定是否為會話請求偽 tty。爭論的焦點(diǎn)可能是: no (永遠(yuǎn)不要請求一個 TTY) ,yes (當(dāng)標(biāo)準(zhǔn)輸入是 TTY 時總是請求一個 TTY) ,force (總是請求一個 TTY)或 auto (打開登錄會話時請求一個 TTY)。此選項鏡像 ssh (1)的-t 和-T 標(biāo)志。
2.74 RequiredRSASize
指定 ssh (1)將接受的最小 RSA 密鑰大小(位)。小于此限制的用戶身份驗證密鑰將被忽略。呈現(xiàn)小于此限制的主機(jī)密鑰的服務(wù)器將導(dǎo)致連接終止。默認(rèn)值是1024位。注意,此限制只能從默認(rèn)值引發(fā)。
2.75 RevokedHostKeys
指定已撤銷的主機(jī)公鑰。對于主機(jī)身份驗證,將拒絕此文件中列出的密鑰。請注意,如果此文件不存在或不可讀,則將拒絕所有主機(jī)的主機(jī)身份驗證。密鑰可以指定為文本文件,每行列出一個公鑰,或者 ssh-keygen (1)生成的 OpenSSH 密鑰撤銷列表(KRL)。有關(guān) KRL 的更多信息,請參見 ssh-keygen (1)中的 KEY REVOCATION LISTS 部分。RevokedHostKeys 的參數(shù)可以使用波浪形語法來引用用戶的主目錄、 TOKENS 部分中描述的令牌和 ENVIRONMENT VARIABLES 部分中描述的環(huán)境變量。
2.76 SecurityKeyProvider
指定庫的路徑,該路徑將在加載任何 FIDO 身份驗證程序托管的密鑰時使用,重寫使用內(nèi)置 USB HID 支持的默認(rèn)值。
如果指定的值以“ $”字符開頭,那么它將被視為包含庫路徑的環(huán)境變量。
2.77 SendEnv
指定來自局部 環(huán)境(7)
應(yīng)該發(fā)送到服務(wù)器。服務(wù)器也必須支持它,并且必須將服務(wù)器配置為接受這些環(huán)境變量。請注意
TERM
環(huán)境變量 總是在需要時請求偽終端時發(fā)送 根據(jù)協(xié)議,請參閱
AcceptEnv 進(jìn)去 ? Sshd _ config (5)
用于如何配置服務(wù)器 由名稱指定,該名稱可能包含通配符 環(huán)境變量可以用空格分隔或分散 多個
SendEnv 指令。 ?
有關(guān)模式的更多信息,請參見模式。
可以通過使用-作為模式的前綴來清除以前設(shè)置的 SendEnv 變量名。默認(rèn)情況下不發(fā)送任何環(huán)境變量。
2.78 ServerAliveCountMax
設(shè)置可以發(fā)送的服務(wù)器活動消息的數(shù)量(見下文) 沒有 Ssh (1)
? 接收任何從服務(wù)器返回的消息。如果達(dá)到這個閾值 當(dāng)發(fā)送服務(wù)器活動消息時,ssh 將從 服務(wù)器,終止會話 服務(wù)器活動消息與 ?
TCPKeepAlive
(下面)。服務(wù)器活動消息 通過加密通道發(fā)送,因此不會 啟用的 TCP Keepalive 選項 ?
TCPKeepAlive
是可欺騙的,服務(wù)器是活的 當(dāng)客戶端或服務(wù)器依賴于知道 連接已經(jīng)失去反應(yīng)。 ?
默認(rèn)值為3。例如,如果 ServerAliveInterval (見下文)被設(shè)置為15,并且 ServerAliveCountMax 保留為默認(rèn)值,那么如果服務(wù)器無響應(yīng),ssh 將在大約45秒后斷開連接。
2.79 ServerAliveInterval
設(shè)置一個超時間隔(以秒為單位) ,如果超時后沒有從服務(wù)器收到數(shù)據(jù),ssh (1)將通過加密通道發(fā)送消息,請求服務(wù)器的響應(yīng)。默認(rèn)值為0,表示不會將這些消息發(fā)送到服務(wù)器。
2.80 SessionType
可用于請求遠(yuǎn)程系統(tǒng)上的子系統(tǒng)調(diào)用,也可用于根本不執(zhí)行遠(yuǎn)程命令。后者僅用于轉(zhuǎn)發(fā)端口。這個關(guān)鍵字的參數(shù)必須是 none (與 -N 選項相同)、 subsystem (與 -s 選項相同)或 default (shell 或命令執(zhí)行)。
2.81 SetEnv
直接指定一個或多個要發(fā)送到服務(wù)器的環(huán)境變量及其內(nèi)容。與 SendEnv 類似,除了 TERM 變量之外,服務(wù)器必須準(zhǔn)備好接受環(huán)境變量。
2.82 StdinNull
從/dev/null 重定向 stdin (實際上,防止從 stdin 讀取)。在后臺運(yùn)行 ssh 時,必須使用此選項或等效的-n 選項。這個關(guān)鍵字的參數(shù)必須是 yes (與 -n 選項相同)或 no (默認(rèn)值)。
2.83 StreamLocalBindMask
設(shè)置創(chuàng)建本地或遠(yuǎn)程端口轉(zhuǎn)發(fā)的 Unix 域套接字文件時使用的八進(jìn)制文件創(chuàng)建模式掩碼(umask)。此選項僅用于端口轉(zhuǎn)發(fā)到 Unix 域套接字文件。
默認(rèn)值是0177,它創(chuàng)建一個 Unix 域套接字文件,該文件只能由所有者讀寫。注意,并非所有操作系統(tǒng)都遵循 Unix 域套接字文件的文件模式。
2.84 StreamLocalBindUnlink
指定在創(chuàng)建新的 Unix 域套接字文件之前,是否為本地端口轉(zhuǎn)發(fā)或遠(yuǎn)程端口轉(zhuǎn)發(fā)刪除現(xiàn)有的 Unix 域套接字文件。如果套接字文件已經(jīng)存在并且
StreamLocalBindUnlink 未啟用, ssh
將無法將端口轉(zhuǎn)發(fā)到 Unix 域套接字文件。此選項僅用于端口轉(zhuǎn)發(fā)到 Unix 域套接字文件。
參數(shù)必須是 yes 或 no (默認(rèn)值)。
2.85 StrictHostKeyChecking
如果此標(biāo)志設(shè)置為 yes, Ssh (1) 將永遠(yuǎn)不會自動將主機(jī)密鑰添加到 ~/. ssh/known _ hosts
文件,并拒絕連接到其主機(jī)密鑰已更改的主機(jī)。這提供了對中間人(MITM)攻擊的最大保護(hù),盡管當(dāng)
/etc/ssh/ssh _ known _ hosts
文件維護(hù)不善,或者經(jīng)常與新主機(jī)建立連接。此選項強(qiáng)制用戶手動添加所有新主機(jī)。
如果這個標(biāo)志被設(shè)置為接受-new,那么 ssh 將自動向用戶的 known _ hosts 文件添加新的主機(jī)密鑰,但是不允許用已更改的主機(jī)密鑰連接到主機(jī)。如果將此標(biāo)志設(shè)置為 no 或 off,ssh 將自動向用戶已知的主機(jī)文件添加新的主機(jī)密鑰,并允許繼續(xù)連接到更改了主機(jī)密鑰的主機(jī),但受到一些限制。如果這個標(biāo)志被設(shè)置為詢問(默認(rèn)情況下) ,只有在用戶確認(rèn)他們真正想要做的事情之后,新的主機(jī)密鑰才會被添加到用戶已知的主機(jī)文件中,ssh 將拒絕連接到主機(jī)密鑰已經(jīng)更改的主機(jī)。已知主機(jī)的主機(jī)密鑰將在所有情況下自動驗證。
2.86 SyslogFacility
給出從 ssh (1)記錄消息時使用的工具代碼??赡艿闹凳? DAEMON、 USER、 AUTH、 LOCAL0、 LOCAL1、 LOCAL2、 LOCAL3、 LOCAL4、 LOCAL5、 LOCAL6、 LOCAL7。默認(rèn)值是 USER。
2.87 TCPKeepAlive
指定系統(tǒng)是否應(yīng)向另一端發(fā)送 TCP 保留消息。如果他們發(fā)送,死亡的連接或崩潰的其中一臺機(jī)器將被適當(dāng)?shù)刈⒁獾?。然而,這意味著如果路由暫時關(guān)閉,連接就會中斷,有些人會覺得這很煩人。
默認(rèn)值為 yes (用于發(fā)送 TCP 保存消息) ,客戶端將注意到網(wǎng)絡(luò)是否停止運(yùn)行或遠(yuǎn)程主機(jī)死亡。這在腳本中很重要,許多用戶也希望如此。
若要禁用 TCP 保留活動消息,應(yīng)將該值設(shè)置為 no。
2.88 Tunnel
請求 tun (4)設(shè)備在客戶端和服務(wù)器之間的轉(zhuǎn)發(fā)。參數(shù)必須是 yes、 point-to-point (第3層)、 Ethernet (第2層)或 no (默認(rèn)值)。指定 yes 將請求默認(rèn)的隧道模式,即點(diǎn)對點(diǎn)模式。
TunnelDevice
指定 屯(4) 在客戶端上打開的設(shè)備(本地人)及伺服器(遙控開關(guān)).
參數(shù)必須是 local _ tun [ : remote _ tun ]。這些設(shè)備可以通過數(shù)字 ID 或關(guān)鍵字 any 指定,這些關(guān)鍵字使用下一個可用的隧道設(shè)備。如果沒有指定 remote _ tun,則默認(rèn)為 any。默認(rèn)值為 any: any。
2.89 UpdateHostKeys
指定是否 Ssh (1)
應(yīng)該接受身份驗證完成后從服務(wù)器發(fā)送的其他主機(jī)密鑰通知,并將它們添加到
UserKnownHostsFile。爭論必須是 yes, no 或者 ? ask
。此選項允許學(xué)習(xí)替代 服務(wù)器的主機(jī)密鑰,并通過允許 服務(wù)器在刪除舊的公鑰之前發(fā)送替換的公鑰。 ?
只有當(dāng)用于驗證主機(jī)的密鑰已經(jīng)被用戶信任或明確接受,主機(jī)通過 UserKnownHostsFile (即不是 GlobalKnownHostsFile)進(jìn)行驗證,并且主機(jī)使用普通密鑰而不是證書進(jìn)行驗證時,才能接受其他主機(jī)密鑰。
如果用戶沒有覆蓋默認(rèn)的 UserKnownHostsFile 設(shè)置并且沒有啟用 VerifyHostKeyDNS,則默認(rèn)情況下啟用 UpdateHostKeys,否則 UpdateHostKeys 將設(shè)置為 no。
如果將 UpdateHostKeys 設(shè)置為詢問,則會要求用戶確認(rèn)對 known _ hosts 文件的修改。確認(rèn)目前與 ControlPerst 不兼容,如果啟用,將禁用它。
目前,只有來自 OpenSSH 6.8的 sshd (8)和更大的支持“ hostkeys@OpenSSH.com”協(xié)議擴(kuò)展,該擴(kuò)展用于通知客戶端所有服務(wù)器的主機(jī)密鑰。
2.90 User
指定要作為。當(dāng)在不同的計算機(jī)上使用不同的用戶名時,這可能很有用。這樣就省去了在命令行中提供用戶名的麻煩。
2.91 UserKnownHostsFile
指定用于用戶主機(jī)密鑰數(shù)據(jù)庫的一個或多個文件,以空格分隔。每個文件名可以使用波浪表示法來引用用戶的主目錄、 TOKENS 部分中描述的令牌和 ENVIRONMENT VARIABLES 部分中描述的環(huán)境變量。如果沒有值,ssh (1)將忽略任何特定于用戶的已知主機(jī)文件。默認(rèn)值是 ~/。Ssh/known _ hosts,~/.Ssh/known _ hosts2.
2.92 VerifyHostKeyDNS
指定是否使用 DNS 和 SSHFP 資源記錄驗證遠(yuǎn)程密鑰。如果此選項設(shè)置為
yes
,客戶端將隱式信任與 DNS 的安全指紋匹配的密鑰。不安全的指紋將被處理,就像這個選項被設(shè)置為
ask。如果此選項設(shè)置為 ask
,則會顯示指紋匹配的資料,但使用者仍須根據(jù)
StrictHostKeyChecking 選項。默認(rèn)值是 no.
另請參見在 ssh (1)中驗證主機(jī)密鑰。
2.93 VisualHostKey
如果此標(biāo)志設(shè)置為 yes,則除了登錄時的指紋字符串以及未知主機(jī)密鑰外,還將打印遠(yuǎn)程主機(jī)密鑰指紋的 ASCII 藝術(shù)表示形式。如果這個標(biāo)志被設(shè)置為 no (默認(rèn)值) ,那么在登錄時不會打印指紋字符串,只會打印未知主機(jī)密鑰的指紋字符串。
2.94 XAuthLocation
指定 xauth (1)程序的完整路徑名。默認(rèn)值是/usr/X11R6/bin/xauth。
3 模式
模式由零個或多個非空白字符、‘ *’(匹配零個或多個字符的通配符)或‘ ?’組成(完全匹配一個字符的通配符)。中的任何主機(jī)指定一組聲明?!?co.uk”域名集合,可使用以下模式:
Host * . co.uk 主持人 * . co.uk
以下模式將匹配192.168.0. [0-9]網(wǎng)絡(luò)范圍內(nèi)的任何主機(jī):
主機(jī)192.168.0?
模式列表是以逗號分隔的模式列表。模式列表中的模式可以在前面加上一個嘆號(’!).例如,為了允許在組織中的任何地方使用某個密鑰,除了“撥號”池之外,可以使用以下條目(在 Authored_ keys 中) :
來自 = “ ! * . dialup.example.com ,* . example.com”
請注意,否定的匹配本身絕不會產(chǎn)生正結(jié)果。例如,嘗試將“ host3”與下面的模式列表匹配將會失敗:
From = “ ! host1,! host2”
這里的解決方案是包含一個將產(chǎn)生正匹配的術(shù)語,比如通配符:
From = “ ! host1,! host2,*”
3.1 符號
某些關(guān)鍵字的參數(shù)可以使用在運(yùn)行時展開的標(biāo)記:
%%
字面上的“%”。
% C
% l% h% p% r 的散列。
% d
本地用戶的主目錄。
% f
服務(wù)器主機(jī)密鑰的指紋。
% H
正在搜索的 known _ hosts 主機(jī)名或地址。
% h
遠(yuǎn)程主機(jī)名。
% I
描述執(zhí)行 KnownHostsCommand 的原因的字符串: 按地址查找主機(jī)時的 ADDRESS (只有在啟用 CheckHostIP 時) ,按主機(jī)名查找時的 HOSTNAME,或準(zhǔn)備用于目標(biāo)主機(jī)的主機(jī)密鑰算法首選項列表時的 ORDER。
% i
本地用戶 ID。
% K
Base64編碼的主機(jī)密鑰。
% k
如果指定了主機(jī)密鑰別名,則為命令行上指定的原始遠(yuǎn)程主機(jī)名。
% L
本地主機(jī)名。
% l
本地主機(jī)名,包括域名。
% n
命令行中給出的原始遠(yuǎn)程主機(jī)名。
% p
遠(yuǎn)程端口。
% r
遠(yuǎn)程用戶名。
% T
如果請求隧道轉(zhuǎn)發(fā),則指定的本地轉(zhuǎn)發(fā)(4)或點(diǎn)擊(4)網(wǎng)絡(luò)接口,否則為“ NONE”。
% t
服務(wù)器主機(jī)密鑰的類型,例如 ssh-ed25519。
% u
本地用戶名。
CericateFile、 ControlPath、 IdentityAgent、 IdentityFile、 KnownHostsCommand、 LocalForward、 Match exec、 RemoteCommand、 RemoteForward、 RevokedHostKeys 和 UserKnownHostsFile 接受標(biāo)記%% 、% C、% d、% h、% i、% k、% L、% l、% n、% p、% r 和% u。
KnownHostsCommand 還接受令牌% f、% H、% I、% K 和% t。
主機(jī)名接受標(biāo)記%% 和% h。
LocalCommand 接受所有令牌。
ProxyCommand 和 ProxyJump 接受令牌%% 、% h、% n、% p 和% r。
3.2 環(huán)境變量
可以在運(yùn)行時從客戶機(jī)上的環(huán)境變量擴(kuò)展某些關(guān)鍵字的參數(shù),方法是將它們封裝在 ${}中,例如 ${ HOME }/。Ssh 將引用用戶的。Ssh 目錄。如果指定的環(huán)境變量不存在,那么將返回一個錯誤,并忽略該關(guān)鍵字的設(shè)置。
證書文件、控制路徑、 IdentityAgent、 IdentityFile、 KnownHostsCommand 和 UserKnownHostsFile 等關(guān)鍵字支持環(huán)境變量。關(guān)鍵字 LocalForward 和 RemoteForward 只支持 Unix domain socket 路徑的環(huán)境變量。文章來源:http://www.zghlxwxcb.cn/news/detail-731171.html
3.3 檔案
~/. ssh/config
這是每個用戶的配置文件。該文件的格式如上所述。此文件由 SSH 客戶端使用。由于存在濫用的可能性,此文件必須具有嚴(yán)格的權(quán)限: 用戶的讀/寫權(quán)限,而其他用戶不能寫。/etc/ssh/ssh _ config
系統(tǒng)范圍的配置文件。此文件為那些未在用戶的配置文件中指定的值以及那些沒有配置文件的用戶提供默認(rèn)值。這個文件必須是世界可讀的。文章來源地址http://www.zghlxwxcb.cn/news/detail-731171.html
到了這里,關(guān)于<Linux>《OpenSSH 客戶端配置文件ssh_config詳解》的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!