ssh -Y(受信任的X11转发)和ssh -X(不受信任的X11转发)有什么区别?据我了解,它与安全性有关,但我不了解它们的区别以及何时使用它。

#1 楼

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

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

但是如果您使用ssh -Y remotemachine,则将远程计算机视为受信任的客户端。最后一个选项可能会打开安全性问题。因为其他图形(X11)客户端可能会嗅探远程计算机上的数据(进行屏幕截图,进行键盘记录和其他令人讨厌的工作),甚至有可能更改这些数据。这些东西,我建议阅读Xsecurity手册页或X Security扩展规范。此外,您可以在ForwardX11中检查选项ForwardX11Trusted/etc/ssh/ssh_config

评论


ssh联机帮助页使用了不幸的措辞,这表明(至少对我来说)-X使用不安全,-Y更好。因此,谢谢您的回答。

–折腾者
2014年9月9日在7:08



因此,使用-X,其他客户端是否不可能嗅探或更改数据?

–音乐爱好者
2014年11月18日,0:44

那么,为什么通常要使用-Y而不是-X?

–晚上
16年1月5日在13:56



我有一个相同的问题(为什么要使用-Y),并且我理解这可能有用的唯一情况是服务器端的安全控制由于某种原因未实现/不兼容。我还读到转发X11通常是一个功能强大且危险的工具,应将其视作此类工具。

– MakisH
16年1月24日,0:02

回答“为什么使用-Y而不是-X?”问题,-X在超时后丢弃转发,而-Y没有。不过,您可以使用ForwardX11Timeout的-X选项覆盖该配置。

–Seb
17年1月4日在15:43

#2 楼

当您不需要远程运行X11程序时,不要使用任何一种。使用时请使用-X;并假设如果您关心的X11程序在使用-Y时比使用-X时效果更好,则使用-Y。但是,当前(Ubuntu 15.10),-X与-Y相同,除非您将ssh_config编辑为ForwardX11Trusted no。 -X最初旨在启用1990年代的X Security扩展,但是它既旧又不灵活,并且使某些程序崩溃,因此默认情况下将其忽略。远程计算机上的X11程序,其窗口显示在本地X监视器上。问题是允许程序对其他程序的窗口以及X服务器本身执行什么操作。

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


-Y启用了受信任的X11转发。这是历史行为。可以访问整个显示的程序是受信任的。它可以截屏,键盘记录,以及将输入注入其他程序的所有窗口。而且它可以使用所有X服务器扩展,包括诸如安全图形加速图形之类的扩展。这有利于平稳运行,但不利于安全性。您信任远程程序与本地程序一样安全。

不受信任的X11转发试图限制远程程序仅访问其自己的窗口,并且仅使用相对安全的X部分。 。听起来不错,但实际上在实践中效果不好。 -X-Y之间没有区别。 “ [B]导致当前有太多程序在[不受信任]模式下崩溃。”

如果-X,则ssh_config启用不信任转发。否则,将-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

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

更安全