我在 Ubuntu 14.04 上并试图了解ForwardX11
vs ForwardX11Trusted
.
我的默认 ssh_config 包含以下几行:
# ForwardX11 no
# ForwardX11Trusted yes
Run Code Online (Sandbox Code Playgroud)
此外,man ssh_config
告诉我:
1. command-line options
2. user's configuration file (~/.ssh/config)
3. system-wide configuration file (/etc/ssh/ssh_config)
Run Code Online (Sandbox Code Playgroud)
那ForwardX11.default == no
和ForwardX11Trusted.default == yes
。
现在我的问题:
我认为 1. 优先于 2. 超过 3. 没有指定,因此应该应用默认设置,即ForwardX11Trusted == yes
. 如果我在没有-Y
or-X
选项的情况下通过 SSH 连接到远程机器,则 X11 转发不起作用。
如果我指定-X
,X11 转发有效,但它似乎处于受信任模式?
如果我设置
ForwardX11 no
ForwardX11Trusted no
Run Code Online (Sandbox Code Playgroud)
在 中/etc/ssh/ssh_config
,我现在可以使用-X
和-Y
命令行 选项正确选择模式。但是,虽然转发会在-Y
模式下产生大约 0.5 MBit 的流量,但它在模式下会占用 6-10 MBit -X
。
如果我明确设置
ForwardX11 yes
Run Code Online (Sandbox Code Playgroud)
SSH 仍然忽略该ssh_config
文件。我仍然需要指定ssh -X [...]
.
为什么 SSH 似乎忽略了默认设置和配置文件?
Jam*_*den 16
根据 #4,您是否正在编辑正确的文件?~/.ssh/config
要更改的文件是客户端上的文件(通常是键盘所在的位置)。
至于#2(和3),请记住ForwardX11Trusted并不意味着ForwardX11。 ForwardX11Trusted只是意味着如果您打开转发(无论是通过配置文件还是命令行),那么转发的连接将是可信的。
小智 8
我发现这个页面很有用: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”,那么命令标志不仅是等效的,而且是不必要的……也就是说
Run Code Online (Sandbox Code Playgroud)ssh user@host command = ssh -X user@host command = ssh -Y user@host command
如果 ForwardX11 设置为“yes”并且 ForwardX11Trusted 设置为“no”,则
Run Code Online (Sandbox Code Playgroud)ssh user@host command = ssh -X user@host command =/= ssh -Y user@host command
不幸的是,我对您的其他观察没有任何见解。