The Canvas browser target is currently designed to run only on localhost for security reasons, and because the interaction between Python environment and Canvas UI is what powers the experience, so other remote users (who are not using the Python console) will not have the same experience. If you are running a Python console over a remote session (ssh) then you will have a problem with Canvas being on localhost like you describe. Exposing it over plain HTTP over the public internet would potentially leak data (the contents of your SFrames or other data structures) so it is not advisable.
However, there is a workaround you can try, which will allow a local (to your machine) web browser to access Canvas running on a remote server (over ssh).
You can find the port that Canvas is running on by calling:
Then, run an SSH tunnel to the remote server from your local machine, forwarding that port:
<pre><code>ssh -L <port>:localhost:<port> remote.server</code></pre>
Now you should be able to browse to that port on localhost (on your local machine) and get the Canvas experience locally, while having the traffic securely forwarded via SSH. You will need to leave the SSH session open while using Canvas for the port forwarding to continue. Make sure to browse to: