lli*_*eng 5 ssh ubuntu windows-subsystem-for-linux
快速澄清:我在托管 WSL Ubuntu 发行版的 Windows 计算机上运行 X-server。我可以在本地和远程启动 GUI 程序。例如,我可以gvim从本地 WSL 启动,也可以gvim在 SSH 会话时启动。
WSL 非常适合与远程服务器通信,并且我已经设法使 X 转发正常工作。然而,当我运行命令时,我不断收到以下额外文本ssh -X user@machine_ip。我想知道这是否意味着我所有的 GUI 会话都不安全?如果这样的消息没有表明太多潜在的威胁,我可以接受。
Warning: No xauth data; using fake authentication data for X11 forwarding.\nRun Code Online (Sandbox Code Playgroud)\n\n我已运行以下安装程序和配置步骤,但最后一步失败:
\n\nmv ~/.Xauthority ~/old.Xauthority \nsudo apt install ssh xauth xorg -y\ntouch ~/.Xauthority\nxauth generate $DISPLAY .\nRun Code Online (Sandbox Code Playgroud)\n\n我会收到以下错误消息
\n\nxauth: (argv):1: couldn\'t query Security extension on display "localhost:0.0" \nRun Code Online (Sandbox Code Playgroud)\n\n我一直在三台 Windows 计算机(两台笔记本电脑和一台台式机)上重现所描述的问题,但以某种方式设法摆脱了Warning: No xauth data;第四台台式计算机上的“ ”消息。然后,我将以下内容从第四台台式计算机复制到其余三台计算机,但没有任何改进。
~/.Xauthority,/etc/ssh/config: ForwardAgent no\n ForwardX11 no\n ForwardX11Trusted yes\n SendEnv LANG LC_*\n HashKnownHosts yes\n GSSAPIAuthentication yes\n XauthLocation /usr/bin/xauth\nRun Code Online (Sandbox Code Playgroud)\n\n~/.ssh/config:Host *\n ForwardAgent yes\n ForwardX11 yes\n ForwardX11Trusted yes\n Protocol 2\n GSSAPIDelegateCredentials no\n XAuthLocation /usr/bin/xauth\nRun Code Online (Sandbox Code Playgroud)\n\n最后,我在所有运行 WSL (Ubuntu 18.04 LTS) 的有问题的 Windows 机器上不断收到以下与xauth程序的“对话”。
User @ machine \xe2\x9e\x9c ~ xauth \nUsing authority file /home/llinfeng/.Xauthority \nxauth> generate $DISPLAY \nxauth: (stdin):2: unable to open display "$DISPLAY". \nxauth> generate $DISPLAY . \nxauth: (stdin):3: unable to open display "$DISPLAY". \nxauth> add $DISPLAY . \nxauth: (stdin):4: bad "add" command line \nxauth> \nRun Code Online (Sandbox Code Playgroud)\n\n在检查手册后xauth,add似乎是一个有效的命令。
我尝试了三个 WSL 发行版,它们都产生相同的“ No xauth data”错误消息。Microsoft Store 提供的三个发行版包括:Ubuntu、Ubuntu 18.04 LTS 和 Pengwin (Debian)。
请告知如何获取xauth命令来生成一些正确的“xauth 数据”。
根据帖子和您的回答,除了此错误消息之外,一切正常。
该消息似乎说“虚假身份验证数据”被发送到远程会话。我不明白如何使用这些数据可以让任何远程攻击者受益,所以我不明白为什么简单地忽略“无 xauth 数据”的警告是不安全的。
WSL 并不是 Linux 的完整实现。许多系统调用和库已实现,但也有许多没有实现。
我个人的观点:我想说,您可以放心地将错误消息视为来自此类错误实现或未实现的功能,然后忽略它。