mRemoteNG / mRemoteNG

mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager.
https://mRemoteNG.org/
GNU General Public License v2.0
8.94k stars 1.42k forks source link

Gnome Remote Desktop (Fedora 40 Workstation) #2637

Open r-w-frederick opened 2 months ago

r-w-frederick commented 2 months ago

Expected Behavior

Attempt to connect to remote Gnome Remote Desktop (Fedora 40 Workstation) with RDP protocol from Windows client. Expect behavior similar to remote connection to Windows via RDP, and remote Linux hosts via RDP/XRPD.

Current Behavior

Supplying Username & Password leads to error. Error code: 0x0 Extended error code: 0x0

Remove UN/PW from mRemoteNG config pops Windows Security dialog. Supply correct UN/PW. GNOME Remote Desktop Handover Daemon complains: "This connection is insecure Do you want to continue with an insecure connection? TO make it secure set "use redirection server name:i:1" in the RDP config file."

Choose 'Continue'.

Use Gnome GDM, choose User, type Password again. Successful login - albeit with inconsistent User Experience.

Context

This pattern belies at least three expected User Experiences:

  1. Username & Password should be used when supplied
  2. Username & Password should not be redundantly requested when not supplied in config (Windows dialogue + GDM)
  3. Windows RDP settings should be able to be replicated (i.e., advanced setting "use redirection server name:i:1") to eliminate GDM warning

Your Environment

fuzzzerd commented 3 weeks ago

This property is not implemented as a setting; however, the default RDP protocol uses MsRdpClient6NotSafeForScripting which does NOT have UseRedirectionServerName; as this was implemented in MsRdpClient7NotSafeForScripting.

Perhaps this needs to be implemented for the higher versions of RDP Protocol that support it?

Kvarkas commented 3 weeks ago

Perhaps this needs to be implemented for the higher versions of RDP Protocol that support it?

we had this for windows 7 support, but as Microsoft stop supporting it I think we could drop it to. So far thinking to add in settings what protocol version to use and by default that will be hiest posible, not lowest as per now

fuzzzerd commented 3 weeks ago

Perhaps this needs to be implemented for the higher versions of RDP Protocol that support it?

we had this for windows 7 support, but as Microsoft stop supporting it I think we could drop it to. So far thinking to add in settings what protocol version to use and by default that will be hiest posible, not lowest as per now

I think defaulting to "Highest Possible" would make sense; however, I also think that to fully resolve this the UseRedirectionServerName needs to be implemented in the Rdp7 class, since that doe suse MsRdpClient7NotSafeForScripting:

https://github.com/mRemoteNG/mRemoteNG/blob/bd21b85de7962a0fbb46728daf4c4069b7f76f8f/mRemoteNG/Connection/Protocol/RDP/RdpProtocol7.cs#L24-L26

Maybe a good place to add it, once the setting is added to the relevant configuration models and serializers.

Kvarkas commented 3 weeks ago

version 12 recently was released, will try to switch on NB