SSH or Secure Shell is an encrypted connection protocol which is used to connect to the command line interface of a remote machine. MacOS features a built-in SSH client called Terminal which allows you to quickly and easily connect to a server.
In this article, we’ll outline how to SSH to a server using the Terminal program on Mac OS X (Unix).
How SSH Works
SSH utilizes TCP port 22 by default, although this can be changed to a non-standard port. The SSH process uses symmetric encryption, asymmetric encryption and hashing in order to securely connect the client to the remote server.
The first time you connect to the server, you will be asked to verify the public key of the server. On future connections, the client will reference this verified public key to ensure that you are still connecting to the same server by referencing the known_hosts file.
Both the client and the server negotiate a session key which is used to encrypt and decrypt the data sent during the SSH connection.
Finally, the server authenticates the client using an SSH key (if available and used).
What You’ll Need
- A server accessible via SSH on a public IP address
- The IP address of the remote server
- The username and password of a user on the server
- A Mac OS computer
Connecting to a Server via SSH in Terminal
Step 1: Open Terminal
In Finder, open the Applications folder and double click on the Utilities folder.
Double click on the Terminal application. You can drag this icon to your dock for easy access.
Step 2: Enter the standard SSH command
The basic syntax of connecting to SSH is as follows:
Replace user and IP-Address with the username and IP on the remote server. Hit return to execute the command.
This will connect to the server via SSH with the username user and the default SSH port 22. The connection will look similar to the following:
SSH Command Examples and Options
Here are some common SSH command examples which can be used in the Terminal application.
Getting a List of SSH Commands and Syntax
Specifying a Port in SSH
If the remote server is using a non-standard port, you will need to specify this during the connection process:
ssh -p 24601 user@IP-Address
Connecting with an SSH Key
If you wish to connect using an SSH key instead of a password, use the following command:
ssh -i key.file user@IP-Address
Connecting in Verbose Mode
Verbose mode is helpful in diagnosing SSH connectivity issues as it outputs all of the steps of the connection process:
ssh -v user@IP-Address
Ending the SSH Connection
Type exit to end the connection.
Customizing the Mac OS Terminal
The default terminal in Mac is a white and grey interface like this:
But there are a variety of different colour configurations, including dark mode. You can change the look of the Terminal in Terminal > Preferences menu:
Double click a new theme on the Profiles tab to launch a new Terminal window. Click the Default button to set the new theme as your default.
Your new Terminal theme is now active.
Now that you are connected to the remote server, you can execute any commands available in that particular environment. To make things easy during future sessions, you could setup an SSH key pair so that you do not need to enter a password when connecting via SSH in Terminal.