配置Putty

配置Putty

我一直想让 X11 Forwarding 与 PuTTY 配合使用,我使用的 X Window System 是 Xming。当我运行 Xming 并与我的服务器建立新连接时,我在命令后收到以下内容:

$ firefox
PuTTY X11 proxy: wrong authentication protocol attemptedPuTTY X11 proxy: wrong authentication protocol attemptedError: cannot open display: localhost:10.168

$ google-chrome
PuTTY X11 proxy: wrong authentication protocol attempted
(google-chrome:7083): Gtk-WARNING **: cannot open display: localhost:10.168

$ gedit
PuTTY X11 proxy: wrong authentication protocol attempted
** (gedit:6990): WARNING **: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attemptedCannot open display:
Run 'gedit --help' to see a full list of available command line options.

$ gnome-system-monitor
PuTTY X11 proxy: wrong authentication protocol attempted
** (gnome-system-monitor:7024): WARNING **: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attempted
(gnome-system-monitor:7024): Gtk-WARNING **: cannot open display: localhost:10.168

我该如何修复这些错误并使 X11 Forwarding 正常工作?

答案1

复制自:http://www.math.umn.edu/systems_guide/putty_xwin32.html(无效链接:存档 2013-05-23

配置Putty

  • 添加 Unix 主机名
  • 将协议切换为 SSH
  • 在已保存的会话中输入会话名称
  • 点击“保存”

  • 从“类别”列表中展开“SSH”选项卡
  • 从“SSH”列表中选择“X11”
  • 勾选“启用 X11 转发”

  • 从“类别”列表中选择“会话”
  • 点击“保存”

在 Windows 上启动 X 服务器

配置 Xming

只需运行“所有程序 > Xming Xming”,如果您已经配置了 PuTTY,它就可以工作。

正在连接

  • 开始 Xming
  • 启动 Putty
  • 双击您想要的已保存会话

  • 根据要求输入用户名和密码
  • 您现在应该能够在本地桌面上运行来自主机的 X 应用程序

编辑:要修复wrong authentication protocol attempted错误,请尝试在 /etc/ssh/sshd_config 文件中启用“ForwardX11Trusted yes”,然后重新启动 OpenSSH 服务器。

答案2

我遇到了 2 个问题,发现这个问题与我的问题最接近,因此我认为我的解决方案对其他遇到同样问题的人会有所帮助。我的系统有 Cygwin/X (xinit 1.3.4-5) 和 PuTTY (0.64)。我通过在本地 startxbin 上设置 --listen tcp 并将 .Xauthority 的路径传递给 putty 来设法找到问题的根源。

首先,参考“PuTTY X11 代理:无法连接到转发的 X 服务器:网络错误:连接被拒绝”错误,您需要让 X 会话监听连接:打开 cygwin 终端并编辑 /usr/bin/startxwin 找到以下行...

defaultserverargs="-multiwindow"

并将其更改为...

defaultserverargs="-multiwindow -listen tcp"

其次,为了响应“需要授权,但未指定授权协议”错误,您需要让 putty 使用正确的 xauth 令牌(putty 内部似乎发生了一些奇怪的事情,因此xauth list本地没有提供转发连接可以通过传入使用的令牌xauth add <token>,它们似乎需要由 PuTTY 在连接时设置,才能使它们工作)。
通过运行(再次在 cygwin 终端中)在 Windows 域中找到 ~/.Xauthority 文件所在的路径

cd ~
explorer .

检查 .Xauthority 文件的属性并记下它​​的位置(选择它并按 CTRL+C 将其放入剪贴板)。

按照上面的示例启动 PuTTY(复制自http://www.math.umn.edu/systems_guide/putty_xwin32.html

在“控制 SSH X11 转发的选项”页面上,您应该选中“启用 X11 转发”,并将“MIT-Magic-Cookie-1”设置为协议。
在“本地显示的 X 授权文件”字段下,单击“浏览”,然后使用您之前记下的 .Xauthority 文件的位置找到 .Xauthority 文件。单击“打开”以填充字段,然后返回会话(在 PuTTY 配置中)并保存会话。然后您可以单击“打开”。

现在您应该可以连接了。

答案3

我的步骤,使用 DISPLAY 20(因为默认值可能已被使用)

在 Windows 上,

C:\Program Files (x86)\Xming>xming :20 -ac

在 Putty 上,创建反向端口转发,例如远程的 6020 到本地窗口中的相同端口:

在此处输入图片描述 在此处输入图片描述

在unix方面:

export DISPLAY=:20
<your visual app>

答案4

Kruug 的解决方案只需执行下面给出的几个额外步骤即可。

当我使用 登录ec2-user并随后切换到oracle用户时。确保.Xauthority将文件复制到oracle用户主目录中。

cp /home/ec2-user/.Xauthority /home/oracle/

我如何测试?我安装了xclock

yum install xclock

然后我跑了xclock(等待几秒钟,如果你看到一个模拟时钟的小弹出窗口,那就好了)

xclock

相关内容