title: How to create web based terminal using xterm.js to ssh into a system on local network
body: <p>I came across this awesome library <a href="https://xtermjs.org/" rel="noreferrer">xterm.js</a> which is also the base for Visual Studio Code's terminal. I have a very general question.</p>
  <p>I want to access a machine(ssh into a machine ) on a local network through a web based terminal(which is out of network, may be on a aws server). I was able to do this in a local network successfully but I could not reach to a conclusion to do it from Internet--&gt;local network .</p>
  <p>As an example - <code>An aws server running the application on ip 54.123.11.98 which has a GUI with a button to open terminal. I want to open terminal of a local machine which is in a local network somewhere behind some public ip on local ip 192.168.1.7.</code></p>
  <p><em>Can the above example be achieved using some sort of solutions where i can use xterm.js so that I don't have to go for building a web based terminal? What are the major security concerns I should keep in mind while exposing the terminals this way ?</em></p>
  <p>I was thinking in line with using a fixed intermediate server between AWS and local network ip and use some sort of reverse ssh tunnel process to do this but I am not sure if this is the right way or could there be a more simple/better way to achieve this.</p>
  <p>I know digital ocean, google cloud , they all do this but they have to connect to a computer which has public ip while I have a machine in a local network. I don't really want to configure router to do any kind of setup .</p>