A host, any host in general, are just servers. In reality, we can run servers and host our website (may it be wordpress, a simple website, etc.) with a computer. Now to have this host up 24/7, you will need that computer up and running at all times. This comes with maintenance and other important configurations we have to worry about. So we use web-hosting to cut out that management process.
In my example of WebFaction, they give us the option to install node.js in our web applications. I am unsure on how SiteGround operates, but generally you can install node on any server as long as the web host allows it.
SSH client is just an application that allows us to connect to servers securely using the secure shell protocol. More on SSH here: https://en.wikipedia.org/wiki/Secure_Shell. This will allow me to run commands/scripts on the server through a terminal and provides me with flexibility on configuring my node.js webapplication.
These are just very simple explanations and I am in no way an expert. If anyone would like to chime in and add, it would be most appreciated