For hacking around I like to use Digital Ocean (based out of the) and Binary Lane (if my project is sensitive to latency).

I like to use Ubuntu Servers as they’re well supported.

SSH-ing to our Server

We connect to our server using SSH (Secure Shell).

The ssh command takes the format:

ssh username@server.com

When we use this command we’ll be prompted to enter a password each time.

We can get around this by creating using SSH Keys.

Creating an SSH Key

ssh-keygen -t rsa

Your private key is saved to the id_rsa file in the .ssh directory and is used to verify the public key you use belongs to the same account.

Installing your SSH Key

Your public key is saved to the id_rsa.pub; file and is the key. You can save this key to the clipboard by running this:

pbcopy < ~/.ssh/id_rsa.pub

Note: pbcopy is a mac command that takes content from the command line and puts it on your clipboard.

You could also do this command:

cat ~/.ssh/id_rsa.pub | pbcopy

to achieve the same result.

Actually SSHing into your Box

Further Reading

Here are some links on creating an SSH Key for your OS of choice:

Installing Software

To install software on Ubuntu we use the apt command.

APT stands for Advanced Package Tool, and it handles the installation and removal of software on Debian and other Linux distributions (hear Ubuntu, Raspbian for Raspberry Pi etc). We are using Ubuntu.

We need to run apt as root. If we’re logging in as root we can just use the program, but if we’re a normal user we need to use sudo.

The program sudo stands for super user do, and it elevates the privledges of a standard user to that of a super user. Use sudo before a command to do this.

On your Mac or PC try this:

whoami

Then try

sudo whoami

notice a difference?

apt-get update and apt-get upgrade

apt-get update doesn’t actually install new versions of software. Instead, it updates the package lists for upgrades for packages that need upgrading, as well as new packages that have just come to the repositories.

apt-get upgrade upgrades packages that need upgrading.

Installing Packages

sudo apt-get install cmatrix

Removing Packages

sudo apt remove cmatrix

Installing Packages

We need to install ruby2.3-dev and build-essential.

Ruby is a programming language (god’s gift to programmers) and the build-essential package has a series of compiler and tools required for building compiled software.