Solved - Ubuntu Remmina Unable to connect to RDP server.

I recently got this error while trying to remotely login (RDP) to one of the Windows servers in my local network from my Ubuntu 14.04 laptop. At first I thought this happens because my windows login password might have expired. This is one reason I got this same error in the past. (So if you get this error, you should try to reset your password too.)

But then even after resetting the password I was not able to connect. I got the same error, "Unable to connect to RDP server." I was looking around the Internet for some hints as to why this happens and I found a lot of solutions. I was a little bit confused here because the same settings worked when I tried to connect to my other Windows servers. Somehow I finally got it working and here I'm posting the solution which worked for me.

Once you are confirmed that your username and password are correct, you should change the setting mentioned below. It might work for you, or not work, who knows :)

This is what I did. Edit your connection, and go to Advanced tab, changed the security from "negotiate" to "RDP"  (Negotiate was the default value selected). Tried connecting and it worked :D

Remmina Unable to connect to RDP server

This might be different for you. So you can try changing it to TLS, NLA, RDP and see which one works for you. These are the authentication methods used by your Windows server to connect between the two computers.

If you want to know more about these authentication types and why this is required, I did a little search for you, here's what I found on the Microsoft website.

By default, RD Session Host sessions use native RDP encryption. However, RDP does not provide authentication to verify the identity of an RD Session Host server. You can enhance the security of RD Session Host sessions by using Secure Sockets Layer (SSL) Transport Layer Security (TLS 1.0) for server authentication and to encrypt RD Session Host communications. The RD Session Host server and the client computer must be correctly configured for TLS to provide enhanced security.
The three available security layers are:

    SSL (TLS 1.0) SSL (TLS 1.0) will be used for server authentication and for encrypting all data transferred between the server and the client.

    Negotiate The most secure layer that is supported by the client will be used. If supported, SSL (TLS 1.0) will be used. If the client does not support SSL (TLS 1.0), the RDP Security Layer will be used. This is the default setting.

    RDP Security Layer Communication between the server and the client will use native RDP encryption. If you select RDP Security Layer, you cannot use Network Level Authentication.

I hope this would help someone. Please let everyone know by commenting on this post if you know any other solution :)