MisterTea / EternalTerminal

Re-Connectable secure remote shell
https://mistertea.github.io/EternalTerminal/
Apache License 2.0
3.01k stars 171 forks source link

Connection hangs on Oracle Linux 8.4 server #464

Open byron-hawkins opened 3 years ago

byron-hawkins commented 3 years ago

When I connect to an et server which is running on Oracle Linux 8.4, the client hangs. This much appears in the log on the client (Fedora 34):

[INFO 2021-10-01 15:20:03,249 client-main ParseConfigFile.hpp:1371] unsupported config line: ForwardX11 yes, ignored
[INFO 2021-10-01 15:20:03,249 client-main ParseConfigFile.hpp:1371] unsupported config line: ForwardX11Trusted yes, ignored
[INFO 2021-10-01 15:20:03,249 client-main ParseConfigFile.hpp:1152] /etc/ssh/ssh_config.d/*.confnot found
[INFO 2021-10-01 15:20:03,249 client-main TerminalClientMain.cpp:186] Parsed ssh config file, connecting to 192.168.1.13
[INFO 2021-10-01 15:20:03,250 client-main TcpSocketHandler.cpp:92] Connected to server: 192.168.xxx.xxx using fd 7

At this point, I can press ctrl+C on the client, and surprisingly the connection is established. The following lines are added to the client log:

[INFO 2021-10-01 15:21:00,001 client-main SshSetupHandler.cpp:95] etserver started
[INFO 2021-10-01 15:21:00,002 client-main TcpSocketHandler.cpp:92] Connected to server: 192.168.xxx.xxx using fd 5
[INFO 2021-10-01 15:21:00,014 client-main TerminalClient.cpp:375] Window size changed: row: 89 column: 202 width: 0 height: 0
[INFO 2021-10-01 15:21:06,005 client-main TerminalClient.cpp:361] Writing keepalive packet
[INFO 2021-10-01 15:21:06,006 client-main TerminalClient.cpp:346] Got a keepalive
[INFO 2021-10-01 15:21:12,005 client-main TerminalClient.cpp:361] Writing keepalive packet
[INFO 2021-10-01 15:21:12,006 client-main TerminalClient.cpp:346] Got a keepalive
[INFO 2021-10-01 15:21:24,002 client-main TerminalClient.cpp:361] Writing keepalive packet
[INFO 2021-10-01 15:21:24,004 client-main TerminalClient.cpp:346] Got a keepalive

An ssh connection works like normal, and does not print anything on login (not even "Last login" or any other kind of message). I am also able to use et (without a hang) between any two Fedora 34 machines.

A similar problem occurs with mosh, which works between Fedora 34 instances, but cannot connect to the Oracle Linux 8.4 without some fairly drastic manipulation (copying the MOSH_KEY manually to the client after manually starting a mosh-server on the server). So this problem would appear to be specific to Oracle Linux.

MisterTea commented 2 years ago

Are you using the same version of et on both machines?

byron-hawkins commented 2 years ago

In fact no, it's version 6.1.7 on the client (Fedora 34) and version 6.1.8 on the server (OracleLinux). On another Fedora 34 I have 6.1.8, and et connects like normal to the OracleLinux server. So is it unsupported to cross versions of et?

I'm not sure how to reliably keep them in synch when I have multiple Linux distros in my network. Unfortunately, Fedora 34 is totally incompatible with this one machine which now runs OracleLinux, and it will take quite a while to move all my other machines over to OracleLinux.

MisterTea commented 2 years ago

Generally you can mix versions of ET but in this specific case I think the versions of libsodium are not compatible across those platforms.