Add windows server for rdp via browser

Add windows server into Ezeelogin GUI for one-click RDP via the web browser.

Recording RDP session feature is available from Ezeelogin version 7.10.0  
Ensure that the desktop browser has enough CPU( 2GHZ) and RAM( 2- 4 GB ). Close out browser tabs so as to reduce the cpu footprint so that the browser-based rdp works without slowness.
Web RDP will work only if the web interface is accessed via HTTPS

On the gateway server, make sure to install nodejs.

In CentOS 6

[root@camry ~]# curl -sL |bash -

[root@camry ~]# yum install -y nodejs

[root@camry ~]# node -v

In CentOS 7

  [root@cen7 /]#  curl -sL |bash -

  [root@cen7 /]#  yum -y install nodejs

  [root@cen7 /]#  /usr/bin/node -v



In Centos 8

[root@cen8 /]#  curl -sL |bash -

[root@cen8 /]#  yum -y install nodejs
[root@cen7 /]#  /usr/bin/node -v


In Ubuntu 14.04

root@ubu14-04:/# curl -sL  |bash -

root@ubu14-04:/#  apt-get install nodejs

root@ubu14:~#  /usr/bin/nodejs -v



In Ubuntu 16.1

root@ubu16-04:/# curl -sL  |bash -

root@ubu16-04:/#  apt-get install nodejs

root@ubu14:~#  /usr/bin/nodejs  -v



In Ubuntu 18

 In Ubuntu 20

root@ubu20:~# curl -sL  |bash -
root@ubu20:~# apt-get install nodejs
root@ubu20:~# node -v

Once installed, ensure that the path to the node binary is specified correctly under Settings->General->Miscellaneous->Nodejs Command.

The nodejs command field should have the path to the
node / nodejs binary which usually is /usr/bin/node in the case of Centos7 and /usr/bin/nodejs in the case of Ubuntu 14-04

Ensure that inbound TCP traffic on port 52555 is open as nodejs server listens on this port.

Ensure that outbound TCP traffic on port 3389 is open as RDP listens on this port.


To ensure ssl for the browser tab that opens up for the web rdp, generate a self-signed cert with the following command. Web Shell will work only if the web interface is accessed via HTTPS

root@gateway:# openssl req -new -days 365 -x509 -nodes -newkey rsa:2048 -out /usr/local/etc/ezlogin/tls_cert.pem -keyout /usr/local/etc/ezlogin/tls_key.pem

Or put a valid ca, cert and key in the files: /usr/local/etc/ezlogin/tls_ca.pem, /usr/local/etc/ezlogin/tls_cert.pem & /usr/local/etc/ezlogin/tls_key.pem respectively. You can rename your current .crt / .key file to .pem file.


Also, make sure that the .pem files are readable by the webserver user such as nobody/www-root/apache, etc. An easy way to grant the web user read privileges would be chmod 644 /usr/local/etc/ezlogin/*.pem


Make sure that users has privilege to access ’ Windows RDP Login



Click on the windows icon to rdp into the remote machine



  Ensure that Network Level Authentication ( NLA ) is disabled on the remote windows machine as shown.



 Install the NodeJS modules dependencies for the Web RDP Console Application.

cd $(awk '/^system_folder/ {print $2}' /usr/local/etc/ezlogin/ez.conf)/application/external/mstsc/&& npm install

1. You can add the windows-servers by clicking the add button as shown below


2. You need to enable RDP and specify the RDP port as shown below


Pros of browser based RDP

  • Easily RDP via browser in one click
  • Dont have to remember the administrator passwords
  • No RDP client needed

Cons of browser based RDP

  • Unable to copy and paste the document to remote desktop.
    RDP sessions recording is available from version 7.10.0

 If you are getting protocol error, after upgrading Node version you just need to add --tls-min-v1.0 to the nodejs command in Settings->General->Miscellaneous>Nodejs Command.


  • Ensure that Node version is above 12  and NPM Version is >=5     

[root@otp webssh]# npm -v


[root@otp webssh]# node -v


  • Start the WebRDP Console node application manually to determine any errors.    

root@jump-host:~ DEBUG=* CLIENT_DEBUG=*PORT=22555 node $(awk '/^system_folder/ {print $2}' \ /usr/local/etc/ezlogin/ez.conf)/application/external/mstsc/server.js

  • Install the Node modules required by the node application  

    root@jump-host:~ cd $(awk '/^system_folder/ {print $2}' /usr/local/etc/ezlogin/ez.conf)/application/external/mstsc/&& npm  install

5 (1)
Article Rating (1 Votes)
Rate this article
    Attached Files
    There are no attachments for this article.
    Related Articles RSS Feed
    cron for changing root passwords on servers periodically
    Viewed 3290 times since Thu, Jun 15, 2017
    In parallel shell i get "An error occurred. Please contact administrator"
    Viewed 3828 times since Wed, Jun 14, 2017
    How to configure Yubikey two factor authentication in ssh ?
    Viewed 6530 times since Thu, Jun 15, 2017
    Unable to login into cpanel/whm with one click
    Viewed 6346 times since Wed, Jun 14, 2017
    Ezsh shell disallowed
    Viewed 1144 times since Mon, Jul 1, 2019
    How to enforce 2 Factor Authentication on user login?
    Viewed 2266 times since Wed, Sep 19, 2018
    Can Network switches be added as a device and managed?
    Viewed 2236 times since Thu, Jun 15, 2017
    configure ssh-tunnel on jump server or bastion host
    Viewed 2340 times since Fri, May 11, 2018
    How do i add in bastion server into the ssh gateway when i don’t know its password?
    Viewed 2026 times since Wed, Jun 14, 2017
    How do I prevent the root password of the target server that i add from being changed?
    Viewed 2222 times since Wed, Jun 14, 2017