SSH & ForwardX11 vs ForwardX11Trusted --> 超出我的理解

Tom*_*Tom 24 ssh xforwarding

我在 Ubuntu 14.04 上并试图了解ForwardX11vs 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 == noForwardX11Trusted.default == yes

现在我的问题:

  1. 我认为 1. 优先于 2. 超过 3. 没有指定,因此应该应用默认设置,即ForwardX11Trusted == yes. 如果我在没有-Yor-X选项的情况下通过 SSH 连接到远程机器,则 X11 转发不起作用。

  2. 如果我指定-X,X11 转发有效,但它似乎处于受信任模式?

  3. 如果我设置

    ForwardX11 no
    ForwardX11Trusted no
    
    Run Code Online (Sandbox Code Playgroud)

    在 中/etc/ssh/ssh_config,我现在可以使用-X-Y命令行 选项正确选择模式。但是,虽然转发会在-Y模式下产生大约 0.5 MBit 的流量,但它在模式下会占用 6-10 MBit -X

  4. 如果我明确设置

    ForwardX11 yes
    
    Run Code Online (Sandbox Code Playgroud)

    SSH 仍然忽略该ssh_config文件。我仍然需要指定ssh -X [...].

  5. 为什么 SSH 似乎忽略了默认设置和配置文件?

Jam*_*den 16

根据 #4,您是否正在编辑正确的文件?~/.ssh/config要更改的文件是客户端上的文件(通常是键盘所在的位置)。

至于#2(和3),请记住ForwardX11Trusted并不意味着ForwardX11ForwardX11Trusted只是意味着如果您打开转发(无论是通过配置文件还是命令行),那么转发的连接将是可信的。


小智 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”,那么命令标志不仅是等效的,而且是不必要的……也就是说

ssh user@host command = ssh -X user@host command = ssh -Y user@host command
Run Code Online (Sandbox Code Playgroud)

如果 ForwardX11 设置为“yes”并且 ForwardX11Trusted 设置为“no”,则

ssh user@host command = ssh -X user@host command =/= ssh -Y user@host command
Run Code Online (Sandbox Code Playgroud)

不幸的是,我对您的其他观察没有任何见解。