了解通过 SSH 进行 X11 转发 - 从开始到结束的步骤

了解通过 SSH 进行 X11 转发 - 从开始到结束的步骤

我在使用 X11 转发功能时遇到了一些问题。基本上,我有一台安装了 SSH 的 Manjaro 机器,我的目标是将这台机器的内容转发到另一台机器。我应该注意哪些主要设置?

我已经阅读了无数的教程,甚至尝试实现它们,但不知何故,提供的信息太过笼统,如果我能更好地理解围绕 X11 的流程以及如何正确设置它,我将不胜感激。

答案1

在两台机器上安装 openssh。

2 个步骤:设置 ssh 服务器,然后转发 X。

客户指的是其他机器,并且服务器指的是Manjaro机器。

设置 ssh 服务器

  1. 安装openssh-server
  2. 检查 sshd(服务器进程)是否正在运行pgrep sshd(如果 sshd 没有运行,则不会输出任何内容)。
  3. 确保您有一个非常强的密码,或者通过编辑/etc/ssh/sshd_config并更改PasswordAuthentication yes为 来禁用密码验证并使用密钥转发PasswordAuthentication no,然后sudo restart ssh
  4. 确保您可以通过 ssh 从客户端登录到服务器。

X 转发

跟随本答案中的说明。复制到此处:

“在客户端-X(大写 X)选项用于启用 X11 转发,您可以将其设置为默认设置ssh(对于所有连接或特定连接)ForwardX11 yes~/.ssh/config

服务器端X11Forwarding yes必须在/etc/ssh/sshd_config。请注意,默认为无转发(某些发行版默认开启转发/etc/ssh/sshd_config),并且用户无法覆盖此设置。

xauth程序必须安装在服务器端。如果那里有任何 X11 程序,则很可能xauth会出现。在极少数情况下,xauth它安装在非标准位置,可以通过以下方式调用~/.ssh/rc(在服务器上!)。

请注意,您不需要在服务器上设置任何环境变量。DISPLAYXAUTHORITY将自动设置为其正确值。 如果您运行 ssh 并且DISPLAY未设置,则意味着 ssh 未转发 X11 连接。

要确认 ssh 正在转发 X11,请检查输出Requesting X11 forwarding中包含以下内容的行ssh -v -X。请注意服务器不会回复无论如何,都要采取安全预防措施,向潜在的攻击者隐藏详细信息。”

确保在将设置更改为后重新启动 sshd/etc/ssh/sshd_config

cat /var/run/sshd.pid | xargs kill -1

相关内容