Apache-Guacamole 连接win10失败

陆子航
2023-12-01

个人尝试使用win10 + debian子系统安装运行Apache Guacamole实现web端远程连接服务器。

在安装完成后,可以正常连接华为云服务器(window Server2008),在远程本地win10时报错。

web端面页面提示如下

The remote desktop server is currently unreachable. If the problem persists, please notify your system administrator, or check your system logs.
 

guacamole-client Tomcat报错如下

14:15:01.718 [http-nio-8081-exec-2] INFO  o.a.g.tunnel.TunnelRequestService - User "user" disconnected from connection "*.*.*.*". Duration: 50055 milliseconds
14:15:01.719 [http-nio-8081-exec-2] DEBUG o.a.g.net.InetGuacamoleSocket - Closing socket to guacd.
14:15:02.223 [Thread-13] DEBUG o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Connection to guacd closed.
org.apache.guacamole.GuacamoleConnectionClosedException: Connection to guacd is closed.
        at org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:183) ~[guacamole-common-1.0.0.jar:na]
        at org.apache.guacamole.io.ReaderGuacamoleReader.readInstruction(ReaderGuacamoleReader.java:195) ~[guacamole-common-1.0.0.jar:na]
        at org.apache.guacamole.protocol.FilteredGuacamoleReader.readInstruction(FilteredGuacamoleReader.java:81) ~[guacamole-common-1.0.0.jar:na]
        at org.apache.guacamole.protocol.FilteredGuacamoleReader.readInstruction(FilteredGuacamoleReader.java:81) ~[guacamole-common-1.0.0.jar:na]
        at org.apache.guacamole.protocol.FilteredGuacamoleReader.read(FilteredGuacamoleReader.java:64) ~[guacamole-common-1.0.0.jar:na]
        at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$2.run(GuacamoleWebSocketTunnelEndpoint.java:246) ~[guacamole-common-1.0.0.jar:na]
Caused by: java.net.SocketException: Socket closed
        at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_232]
        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[na:1.8.0_232]
        at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[na:1.8.0_232]
        at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_232]
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:1.8.0_232]
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:1.8.0_232]
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:1.8.0_232]
        at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[na:1.8.0_232]
        at org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:169) ~[guacamole-common-1.0.0.jar:na]
        ... 5 common frames omitted

经过查找相关解决方案(适用于Windows Server 2016 RDP),需要修改win10注册表。内容如下

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]


修改“SecurityLayer” 项的值为 1
修改 “UserAuthentication” 项的值为 0

做个记录..

 类似资料: