The basics of SSH usage

If you ever need to do any distant administration, at some level you are going to need to log right into a Linux server and get to work. To try this, you are going to want to make use of SSH (aka Secure Shell). For those who have by no means been uncovered to such a software, you are in for a deal with.

What is SSH?

SSH is a safe means of logging right into a distant machine. Once logged in, you may run any command you have to work with the server. Before you suppose that utilizing SSH is troublesome, fret not. Using SSH just isn’t solely pretty straightforward, but it surely’s additionally actually fairly highly effective. 

I wish to stroll you thru the primary steps of utilizing SSH. I’ll be demonstrating on Pop!_OS Linux however this info will work on any distribution of Linux that helps SSH (which is most of them). The solely belongings you’ll must observe together with this tutorial are two working cases of Linux. That’s it. Let’s get busy with SSH.  

Basic SSH login

Using SSH makes it doable so that you can log in from a neighborhood machine to a distant machine. You’ll want person accounts on each machines. Those accounts do not need to be the identical on every machine (I’ll clarify this in a minute), however you do must have login credentials for each.

You will even want the IP deal with (or area) of the server you wish to log into. Let’s say, for instance’s sake, our distant server is at IP deal with and our person account is identical on each machines. Log into your desktop pc, open a terminal window, and log in to the distant machine with the command:


You can be prompted to your username on the distant machine. Once you’ve got efficiently authenticated with the password, you may be logged into the distant machine, the place you can begin working.

Now, what in case your username on the distant machine is not the identical because the one on the desktop? Let’s say your username on the distant machine is olivia. To log in with that username, the command can be:

ssh [email protected]

You can be prompted for olivia’s password (not the native person’s).

Normally, SSH makes use of port 22. Some directors may change that port (for safety functions). If the server administrator has configured SSH to hearken to port 2022, you may’t merely kind the usual SSH command to log in. Instead, it’s important to add the -p choice like so:

ssh [email protected] -p 2022

SSH Site configuration

Remembering all of these IP addresses and usernames could be a actual headache for some. Fortunately, SSH makes it doable so that you can create a configuration file that homes all of this info. Say, for instance, you could have the next checklist of servers you log into:

  • webserver –
  • e-mail server –
  • database server –

Let’s configure SSH such that you’d solely need to log in with the instructions:

  • ssh web1
  • ssh email1
  • ssh db1

We’ll additionally assume that the person on web1 is olivia, the person on email1 is nathan, and the person on db1 is identical because the person on the native machine. To set this up, we should create a config file within the ~/.ssh listing. For that, return to the terminal window in your native machine and problem the command proven in Figure A.


Creating a brand new SSH config file with the nano editor.

Image: Jack Wallen

Where USER is your Linux username.

In that file, add the next traces:

Host web1
   User olivia

Host email1
   User nathan

Host db1

Save and shut the file. You ought to now be capable to log into these completely different servers with the shorter instructions (i.e. ssh web1, ssh email1, and ssh db1). It’s vital to recollect, nonetheless, that for web1 you may be prompted for olivia’s password, email1 will ask for nathan’s password, and db1 will ask for a similar person because the native one.

Running instructions on a distant machine with SSH

This is a useful little trick. Let’s say you do not essentially wish to log right into a distant machine however you do must run a command. For instance, you wish to checklist out the contents of the distant person’s house listing. For that, you might problem the command:

ssh [email protected] ls /house/olivia

Since we have arrange our config file, we will truncate that command to:

ssh web1 ls /house/olivia

We can minimize off a bit extra from that command as a result of Linux has a shortcut for a person’s house listing (as a result of /house/olivia and ~/ are the identical issues). For that, our command turns into:

ssh web1 ls ~/

And that, my pricey buddies, is the basics of utilizing SSH to log right into a distant Linux machine. If you ever need to do any distant administration of a Linux machine, that is what you may must know. Next time round, I’ll introduce you to SSH Key Authentication, for much more safe distant logins.

Related Posts