我使用的是 Ubuntu 14.04,並試圖了解ForwardX11
與ForwardX11Trusted
.
我的預設 ssh_config 包含以下幾行:
# ForwardX11 no
# ForwardX11Trusted yes
此外,man ssh_config
告訴我:
1. command-line options
2. user's configuration file (~/.ssh/config)
3. system-wide configuration file (/etc/ssh/ssh_config)
還有那個ForwardX11.default == no
和ForwardX11Trusted.default == yes
。
現在我的問題是:
我認為 1. 優先於 2. 優先於 3. 未指定,因此應應用預設設置,即
ForwardX11Trusted == yes
。如果我在沒有-Y
或選項的情況下透過 SSH 連接到遠端計算機-X
,則 X11 轉送不起作用。如果我指定
-X
,X11 轉送可以工作,但它似乎處於受信任模式?如果我設定
ForwardX11 no ForwardX11Trusted no
在 中,我現在可以使用和命令列選項
/etc/ssh/ssh_config
正確選擇模式。但是,雖然轉送在模式下產生大約 0.5 MBit 的流量,但它卻佔用了 6-10 MBit 的模式。-X
-Y
-Y
-X
如果我明確設定
ForwardX11 yes
SSH 仍然忽略該
ssh_config
檔案。我還需要具體說明一下ssh -X [...]
。為什麼 SSH 似乎忽略預設設定和設定檔?
答案1
根據#4,您編輯的檔案正確嗎?要更改的文件~/.ssh/config
是客戶端上的文件(通常是鍵盤所在的位置)。
至於#2(和3),請記住ForwardX11可信並不意味著前進X11。 ForwardX11可信只是意味著如果您打開轉發(無論是透過設定檔還是命令列),那麼轉發的連線將受到信任。
答案2
我發現這個頁面很有用: https://padraic2112.wordpress.com/2007/07/09/bad-security-201-remote-x-sessions-over-ssh/
它基本上回答了你的問題#2:
如果 ForwardX11Trusted 設定為“yes”,則指令 ssh -X 和 ssh -Y 在功能上等效。如果 ForwardX11 和 ForwardX11Trusted 都設定為“yes”,那麼命令標誌不僅是等效的,而且是不必要的......也就是說
ssh user@host command = ssh -X user@host command = ssh -Y user@host command
如果 ForwardX11 設定為“yes”且 ForwardX11Trusted 設定為“no”,則
ssh user@host command = ssh -X user@host command =/= ssh -Y user@host command
不幸的是,我對你的其他觀察一無所知。