如何修复 X2Go 中的“远程代理关闭连接”错误?

如何修复 X2Go 中的“远程代理关闭连接”错误?

我整个夏天都在为两个实验室工作,这需要我设置对两个计算集群的远程访问。其中一个使用 x2go 连接到 MATE 桌面,另一个使用 NxMachine 连接到 KDE 桌面,因此我在 Windows 笔记本电脑上分别设置了它们。X2Go 设置只需要密码即可连接到服务器,而 NxMachine 设置则使用私钥通过 SSH 进行连接。

一切运行正常大约两个月,直到星期一,我无法使用 X2Go 客户端登录,并收到以下消息:

“远程代理在协商会话时关闭了连接。这可能是由于传递给服务器的身份验证凭据错误。”

由于之前 X2Go 的个别显示会话已经损坏,我删除了 C:/Users/MyUserName/.x2go/ 中的会话文件。我还使用 PuTTY 通过 ssh 连接到该服务器上的主目录,并从 ~/.x2go/ 中删除了会话文件。

当我尝试再次登录时,出现了同样的错误,并且发现会话文件又回到了 .x2go 文件夹中。

这些会话日志内容如下:

“循环:恐慌!远程 NX 代理关闭了连接。循环:恐慌!阶段‘7’中的会话协商失败。循环:恐慌!版本错误或会话身份验证 cookie 无效。”

第一天,我仍然能够使用 NxMachine 连接到另一台服务器,但现在该会话也被拒绝,出现错误 107:连接被拒绝。

现在我在想我的身份验证密钥是不是出了问题?但是,说实话,如果真是这样的话,我不知道该如何检查或修复它,所以我有点被困在这里了。

(您可能已经看出来了,我对这些方面非常不熟悉,需要大家提供的任何帮助,甚至包括理解日志和错误消息。如果您需要任何其他信息,请告诉我。)谢谢!

答案1

我在寻找同一问题的解决方案时偶然发现了这篇文章。

我正在为可能处于类似情况的其他人添加我的解决方案。

我只是重新初始化了 x2go 数据库:

x2godbadmin --createdb

答案2

我收到了相同的错误消息,但重新初始化数据库没有效果。

我不得不卸载并重新安装 x2goserver 包。

答案3

您可以通过 ssh 连接到服务器。然后使用以下命令找到您的 x2go 会话:

x2golistsessions

输出为:<agent_pid>|<session_id>|...

使用以下方法终止您的不良会话:

x2goterminate-session <session_id>

答案4

我通过 ssh 进入系统并终止与 x2go 相关的进程来解决这个问题:

ps x | grep x2go
kill ...

我终止的进程是:

  • /usr/bin/dbus-run-session /etc/x2go/Xsession
  • /bin/bash /usr/bin/x2gosetkeyboard

相关内容