我在使用 X11 转发功能时遇到了一些问题。基本上,我有一台安装了 SSH 的 Manjaro 机器,我的目标是将这台机器的内容转发到另一台机器。我应该注意哪些主要设置?
我已经阅读了无数的教程,甚至尝试实现它们,但不知何故,提供的信息太过笼统,如果我能更好地理解围绕 X11 的流程以及如何正确设置它,我将不胜感激。
答案1
在两台机器上安装 openssh。
2 个步骤:设置 ssh 服务器,然后转发 X。
客户指的是其他机器,并且服务器指的是Manjaro机器。
设置 ssh 服务器
- 安装
openssh-server
- 检查 sshd(服务器进程)是否正在运行
pgrep sshd
(如果 sshd 没有运行,则不会输出任何内容)。 - 确保您有一个非常强的密码,或者通过编辑
/etc/ssh/sshd_config
并更改PasswordAuthentication yes
为 来禁用密码验证并使用密钥转发PasswordAuthentication no
,然后sudo restart ssh
。 - 确保您可以通过 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
(在服务器上!)。
请注意,您不需要在服务器上设置任何环境变量。DISPLAY
和XAUTHORITY
将自动设置为其正确值。 如果您运行 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