`ssh -Y`(受信任的 X11 转发)和 `ssh -X`(不受信任的 X11 转发)之间有什么区别?

`ssh -Y`(受信任的 X11 转发)和 `ssh -X`(不受信任的 X11 转发)之间有什么区别?

ssh -Y(受信任的 X11 转发)和(不受信任的 X11 转发)之间有什么区别ssh -X?据我所知,它与安全性有关,但我没有掌握它们之间的区别以及何时使用哪个。

答案1

这两个选项都与 X11 转发有关。这意味着,如果启用此功能,您可以通过 SSH 会话使用图形客户端(例如,使用 Firefox 或其他工具)。

如果您使用ssh -X remotemachine远程计算机,则将被视为不受信任的客户端。因此,您的本地客户端会向远程计算机发送命令并接收图形输出。如果您的命令违反了某些安全设置,您将收到错误。

但是如果你使用ssh -Y remotemachine远程机器,它将被视为受信任的客户端。最后一个选项可能会带来安全问题。因为其他图形 (X11) 客户端可以嗅探远程机器的数据(制作屏幕截图、进行键盘记录和其他令人讨厌的事情),甚至可以更改这些数据。

如果你想了解更多这些内容,我建议你阅读Xsecurity 手册页或者X 安全扩展规范。此外,您还可以检查中的选项ForwardX11和。ForwardX11Trusted/etc/ssh/ssh_config

答案2

使用两者都不当您不需要远程运行 X11 程序时;-X当您需要时使用;并且假设-Y您关心的 X11 程序使用 -Y 比使用 -X 效果更好时使用。但目前(Ubuntu 15.10),-X 与 -Y 相同,除非您编辑ssh_configForwardX11Trusted no。-X 最初旨在启用 1990 年代的 X 安全扩展,但它已经过时且不灵活,并且会导致某些程序崩溃,因此默认情况下会被忽略。

ssh-Y-X都允许您在远程计算机上运行 X11 程序,其窗口显示在本地 X 监视器上。问题是允许该程序对其他程序的窗口以及 X 服务器本身执行什么操作。

local$ ssh -X remote
remote$ xlogo
# Runs xlogo on remote, but the logo pops up on the local screen.

值得信赖X11 转发由 启用-Y。这是历史行为。有权访问显示的程序被信任有权访问全部的显示。它可以截图、键盘记录,并将输入注入到其他程序。它可以使用所有 X 服务器扩展,包括加速图形等,这些都是安全漏洞。这对于平稳运行有利,但对安全性不利。您相信远程程序与本地程序一样安全。

不受信任X11 转发尝试限制远程程序仅访问其自己的windows,并且只使用 X 中相对安全的部分。这听起来不错,但目前在实践中效果不佳。

目前的含义-X取决于您的 ssh 配置。

在 Ubuntu 14.04 LTS 上,除非你编辑,否则和ssh_config之间没有区别。“[B]因为目前有太多程序在 [不受信任] 模式下崩溃。”-X-Y

ubuntu1404$ man ssh
...
 -X      Enables X11 forwarding.  This can also be specified on a per-host
         basis in a configuration file.
         ...
         (Debian-specific: X11 forwarding is not subjected to X11 SECURITY
         extension restrictions by default, because too many programs cur‐
         rently crash in this mode.  Set the ForwardX11Trusted option to
         “no” to restore the upstream behavior.  This may change in
         future depending on client-side improvements.)

ubuntu1404$ grep ForwardX11Trusted /etc/ssh/ssh_config
#   ForwardX11Trusted yes

如果ForwardX11Trusted no,则-X启用不受信任转发。否则,-X将被视为与 相同-Y,相信具有显示访问权限的远程程序是友好的。

答案3

-X选项启用 X11 转发:

-X   Enables X11 forwarding.  This can also be specified on a per-host
     basis in a configuration file.

     X11 forwarding should be enabled with caution.  Users with the
     ability to bypass file permissions on the remote host (for the
     user's X authorization database) can access the local X11 display
     through the forwarded connection.  An attacker may then be able
     to perform activities such as keystroke monitoring.

     For this reason, X11 forwarding is subjected to X11 SECURITY
     extension restrictions by default.  Please refer to the ssh -Y
     option and the ForwardX11Trusted directive in ssh_config(5) for
     more information.

该选项-Y对应于 ssh_config(5) 中的 ForwardX11Trusted 指令,它甚至更不安全,因为它删除了 X11 SECURITY 扩展控制。

-Y      Enables trusted X11 forwarding.  Trusted X11 forwardings are not
        subjected to the X11 SECURITY extension controls.

使用更安全-x

-x   Disables X11 forwarding.

答案4

来自男人:

Debian 特定:
在默认配置中: ForwardX11Trusted yes

-Y 等同于 -X(我认为这个描述更好:-X 与 -Y 一样容易使用,但具有相同的风险)


不受信任并不意味着机器比受信任的机器更危险,而是意味着你很谨慎,因此更安全。

相关内容