# Intro to Secure Shell (SSH)

In general, there are two ways to access your node machine: locally, and remotely.

  • Locally refers to sitting down at the physical node and using a monitor and keyboard connected directly to it.
  • Remotely refers to connecting to the node using a different computer (say, a laptop or desktop) over a network and interacting with it from there.

Most of the time, node operators prefer the flexibility of working on their node remotely.

The Smartnode currently doesn't have a GUI (Graphical User Interface), only a CLI (Command Line Interface), which means interacting with it is done entirely by typing commands into a command-line terminal. As such, interacting with it remotely requires some way to access your node's terminal from a different machine. In this section, we'll provide a brief introduction to the most popular way of doing this: SSH.

Here's how you would connect to your node using SSH.

NOTE

Run the following command from your laptop or desktop, not from your node itself!

ssh username@node-ip-address

Say, for example, that your node's username is staker and your node's IP address is 192.168.1.10. You would connect to it with the following command:

ssh staker@192.168.1.10

The first time you do this, you will see a message presenting the public key that your node is using - if you are familiar with how to verify this key, you can do so now. Otherwise, if you trust that you have the correct node IP address in your ssh command, you can just say yes to accept it. You only need to do this once.

The client will then prompt you for your user's password; once you enter that, you're in! You will be greeted with a welcome message, some details about your machine, and a new prompt.

At this point, everything you type in the terminal is executed remotely on your node machine - it's as if you were logged directly into the node machine and typing on it with a locally-attached keyboard!

You'll need to SSH into the terminal periodically for updates and maintenance. It can be inconvenient to remember how to log in to your node, so it may be helpful to shorten this command by creating a memorable alias - a custom "shortcut" command.

NOTE

If you do this, be sure to create the alias on the client machine, not on the node! If your terminal is still connected to the node, first run exit at the command prompt (or simply open a new terminal window).

In this example, we'll create an alias called ethnode which will replace the SSH command. Assuming, as before, that your node's username is staker and your node's IP address is 192.168.1.10, create the alias with the following command:

echo "alias ethnode='ssh staker@192.168.1.10'" >> ~/.bash_aliases

Reload the alias list to make your current terminal window aware of the new alias:

source ~/.bash_aliases

Now, you can connect to the node using the alias you just created instead of the longer command that involves specifying the node's IP address:

ethnode