CodeAnywhere.com

An Unexpected Benefit for Education

CodeAnywhere.com initially caused me great alarm as it is essentially a proxy service for any SSH enabled server. In fact, I posted about it at the time. (Those in enterprise security understand why I would post such a thing.) However, I have come to some realizations that make CodeAnywhere.com an excellent resource for budding system administrators and developers. Here’s why.

True Containers

Unlike REPL.it, which is great for beginners, CodeAnywhere.com provides a single free container. It is a 100% legitimate free, cloud-enabled Ubuntu server. While I may hate the limitation of themes, this is the only free cloud command line of which I am currently aware. That is substantial. Much more than the command line can be learned through experimentation and actual use can occur including creating your own SSH keys, installing packages, and even writing your own custom bash configurations synchronized to a Git repo.

Web Access to Your Own Educational Server

One of the amazing things about CodeAnywhere.com is that anyone with an account can create a public/private key pair for use with SSH remote login to enable rock-solid secure access to a third party, multi-user educational server (say on Digital Ocean). This allows all kinds of common configurations and challenges to be setup in a way that is easily accessible to anyone on the Internet in a very secure way. Using password-based logins to public Internet-facing servers is a security issue waiting to happen, but by forcing SSH pubkey-only logins that risk is practically eliminated. Someone would have to hack the CodeAnywhere.com account of the user and then know enough to SSH from that account into the system. With added passphrase on the pubkeys that possibility is all but eliminated all together. In short, this makes cloud-based access to a centralized education server very secure and very doable—especially when more and more schools and districts are disabling everything from terminal access and Chrome extensions to even “view source” in Chrome. CodeAnywhere.com is largely accepted by schools (because it is just a web site) and therefore provides a reliable, universal way to access your centralized, multi-user educational Linux server.

Unused Accounts are Deleted

At first I found this very annoying. CodeAnywhere.com will delete—with little warning—your single container instance that you so painstakingly setup. This is not a big deal if you have been using it indirectly for access to a centralized educational server, but it is a huge deal if the student using it is not frequently backing up profiles and syncing configuration to something off site (such as a GitHub repo).

A Suggested Progression

For those considering educational technology options for all their students that address the vast span of technical skills in this area I suggest the following:

  1. Have each student create a CodeAnywhere.com account and help them run ssh-keygen to generate a pubkey that can be added to your centralized education server (perhaps hosted on DigitalOcean).
  2. Show students how to put the public/private key pair their own home computers and laptops as well or have them create a new pair and add the pubkey from that as well to the central educational server for them into their home .ssh/authorized_keys file.
  3. Encourage students to get their own computers and work mostly from them instead as they advance enough to manage their own bash_profile and bashrc files and understand their implications.
  4. Encourage students to create their own hardware and cloud servers to which they can connect from laptops, desktops, as well as CodeAnywhere.com during their advanced project work.

/^((Found|Teach|Hack)er|(Men|Jani)tor|C\w+O)$/ 🌎 skilstak.io 💥 robs.io

/^((Found|Teach|Hack)er|(Men|Jani)tor|C\w+O)$/ 🌎 skilstak.io 💥 robs.io