1

I have been trying to setup a web based ssh client on my Pi using shellinabox and ath the start had success but after a while the shellinabox stopped working. I have followed instructions from here, here, and here perfectly. I have used lighttpd and Apache 2 and got the 404 not found error. Using neither and going by the port, I get could not connect to the server. Using net stat I can see that it is listening on 127.0.0.1:4200 like it should be. Same with ajaxterm.

What is going on?!?!?!?

It is a Pi B+.

  • "What is going on?!?!?!?" -> Worth noting that ajaxterm on github hasn't been updated in five years, probably indicative of the fact that it has been abandoned. Web based ssh clients are less popular than you might think. – goldilocks May 5 '16 at 13:34
  • Ok thanks @goldilocks Is there any way that I could still use them though or if not, is there an alternative? I did get shellinabox to work for a while but then it stopped working so I had thought it was a setting thing not necessarily an update thing... Also, netstat -ntl says that they are listening so they should work. – Jonah Fleming May 5 '16 at 20:43
  • "still use them though or if not, is there an alternative" -> Dunno. I was just pointing something out, since it can be easy to believe _____ has an obvious use value and therefore _____ must have various popular implementations when in fact the opposite is closer to the truth. Also, the fact that an app has a port open and listening does not indicate that it actually works to do anything. It's like a doorbell -- that it rings is a better sign than that it doesn't, but still not a guarantee anyone will come to the door, welcome you in, etc. – goldilocks May 5 '16 at 21:28
1

It is important to note that any web-based terminal/shell that provides an own network port to connect to, tries to stay secure by opening the port only on 127.0.0.1, the so called localhost. But this limits the connection to only local clients on the Pi, like the X.org desktop, for example.

If you are using the Pi "headless" (no monitor attached) you cannot be a "local" clent, unless you proxy the web-console connections trough apache/nginx/etc

If you want to reach the web-console directly on the port running on the Pi from any other device in your network , you need to reconfigure the web-console and set the listening IP address to 0.0.0.0 or the Pi-s own address, if it is a static one, in case of shellinabox, you just have to remove --localhost-only option

To check what is causing you problems with shellinabox:

  1. do a sudo netstat -tlpn to see the services and TCP ports that are listening
  2. look for the port of your web-console (shellinabox is 4200) , and check if the address is 127.0.0.1 or not
  3. if you are using some sort of proxy, you have to check that the proxy destination is pointing to the right URL (in apache its called ProxyPass for example and points normally to http://localhost:4200/ )
  4. if you are proxy shellinabox make sure it is configured to run with -t | --disable-ssl and --localhost-only options
  5. if you connect to a default configured shellinabox directly you may run in trouble trying with HTTP, so try with https:// and accept the warning about risky certificates (because the default install can not provide a trusted SSL certificate with shellinabox)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.