Client- Windows or any linux based OS
For any type of service we need server applications which defines protocols that tells how the communication to client is going to happen.
For SaaS we will use SSH protocol-
Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network.
The server will be open-ssh --
OpenSSH is the connectivity tool for remote login with the SSH protocol. It encrypts all traffic to eliminate eavesdropping, connection hijacking.
Installing SSH server --
Open terminal and type-
[root@www Desktop]# yum install openssh-server
This will install the open-ssh server to your rhel7.2 server. In case you don't have the rpm file for open-ssh server then you can download it from Internet.
But there is a problem in it as it can not transfer graphics to client yet. In linux X window is used for graphics purposes. So we need to enable it on server side to transfer graphics using ssh.
Step 2 -
We need to change the configuration file of ssh which is placed in
/etc/ssh/sshd_config. We can directly open it in gedit or type in terminal-
[root@www Desktop]# vim /etc/ssh/sshd_config
You will find --
something this after scrolling through 80%
Change X11Forwarding no to yes as -X11Forwarding yes
Step 3 -
After any change in any configuration file, we need to restart the service-
To restart ssh server-
Type this command in terminal--
#systemctl restart sshd
To check the status-
#systemctl status sshd
To enable the service-
#systemctl enable sshd
We need to type the above commands and the
Server is now ready.
SSH is a secure protocol, so it will need the client to log in first.
So create a user account for client--
Your server do not have a public ip, by which any client can reach your server through Internet.
So, we for now assume that the client and server is on a private network.
Just take another laptop/pc or install a new O.S. on virtual machine of same computer.
The required condition is both should be connected.
To check conectivity--
Find IP address-
in command prompt type--
By typing above command on both client and sever you can find the ip address of both written after their respective network cards.
Try following commands--
From client pc--
#ping (IP of server)
If it can ping then you are all set.
Let IP of server is --192.168.0.125
Type on client pc--
#ssh -X -l clientname 192.168.0.125 firefox
It will ask for password for client account
Type the password and the magic would just happen
(Here -X is use to enable X11 agent on client pc to recive the graphics.)
On client pc even if firefox is not installed, the firefox which is actually running on server pc and using server's resources, internet speed will come to client's pc as a interactive display which client can use.
Client can even login and use firefox from differnet pc each time by using his account name in above command, will still found the same history in all the browser he will use as the centralized storage is server's resources.
You can just replace firefox with any application, but that must be installed on server.
This the magic of all these Technologies which we will call as SaaS.
To use SSH on your windows machine, You will need two softwares on client pc: A SSH client(Putty) and X11 display server(XMING).
On the client PC, download the two softwares: Putty and Xming from internet.
Putty will work like a SSH Client and Xming will work as a X11 display server for your client as these two servers do not come in most windows machines by default.
Once the server is all set up, you just need to do these simple steps:
- Open Xming.
- Open Putty and enter you server's IP
- Turn on X11 in putty and then click on Open
- Enter the username and password.
- Enter the name of application (e.g. FireFox).
Now sit back and relax, the firefox running on your linux pc is now displayed on your Windows machine.
Yes, you can also type in "GNU-Terminal" instead of firefox and now you have a fully flexed Linux terminal on your windows machine.
You can also have a Android smartphone as your client.
Just download any ssh client and x11 display server from play store and you are good to go.