Overview
Secure Shell (SSH) is a cryptographic network protocol for securing network connections over an insecure network. To connect to the server through SSH, you’ll need an SSH client. You can use a terminal application to manually perform commands once you’ve connected.
Instead of using plain text, your SSH client uses a secure connection for all connections. As a result, the connection is secure and encrypted.
SSH versions at GreggHost
SSH version 7.6p1 is installed on GreggHost servers running Ubuntu 18 (Bionic). Version 7.4p1 is installed on Debian Stretch servers.
Difference between SSH and FTP
FTP
FTP connects to the server using an FTP client (such as Filezilla). This is a visual client, which means you can view directories and files on your local computer and on the server as icons. You can then interact with these icons by clicking on them as desired. Consider the following scenario:
One of the most significant disadvantages of FTP is that it does not allow you to run particular commands to complete a task. You can upload and download files and directories via FTP. You can also rename them, but you won’t be able to run a command that ‘does’ anything.
SSH
To connect to the server with SSH, you must use a terminal (or Shell) client. Within the Shell, there are no visual representations of data. Everything is text from the command line. This command, for example, checks the nameservers for dreamhost.com:
[server]$ dig ns +short dreamhost.com ns1.dreamhost.com ns2.dreamhost.com ns3.dreamhost.com ns1.dreamhost.com ns2.dreamhost.com ns3.dreamhost.com ns1.dreamhost.com ns2.dreamhost.com ns3.dreamhost
You can input commands to run certain operations or tools in this environment, which is not feasible with FTP. Consider the following scenario:
additional utilities wget curl traceroute rsync wget
These tools can make troubleshooting and managing your website a lot easier. SSH, on the other hand, can be difficult to use for novice users, therefore familiarity with the UNIX Shell is strongly advised.
Should I use SSH or FTP?
SSH can do all of the functions of FTP, but it is more complicated to use and is not advised for novices. FTP is the better option if you only need to make minor changes to your website, such as uploading and downloading data.
SSH is required if you need to run specific tasks.
How to use SSH
Step 1 — Enabling Shell access
Using SSH to access your GreggPress site Step 1 — Enabling Shell Access
You must change your website user to a SHELL user in the panel before you may log into your server using SSH. This procedure is described in depth in the article ‘Enabling Shell Access’:
Creating a user with access to the shell (SSH)
As illustrated below, this Shell user is the username you use to get into your server.
Step 2 — Opening up a terminal application
A terminal is a computer software that allows you to type Shell commands. On any operating system, you can utilize a variety of terminal clients (applications). For the simplest solutions for Windows, Mac, and Linux, see the following article:
Client software for SSH
Open a terminal once you’ve picked one to see a blank screen. You can use this field to type a command to log into your server.
Step 3 — Locating your hostname
You’ll need to know your hostname when you’re ready to log into your server using SSH. This varies based on the sort of server that your website is hosted on. For more information on how to get the correct name, see the ‘Finding your server name’ article.
You can also use the table below to find your hostname.
Hostname Description \sexample.com
If you’re signing into a specific website, you can utilize this. Simply replace example.com with your own domain name. This will only function if your site is hosted with GreggHost.
server.dreamhost.com
ps123456.dreamhostps.com is the name of your shared server.
The name of your VPS server is ‘ps123456.’
ds123456.dreamservers.com
Your Dedicated Server’s name is ‘ds123456’.
dp-ab12cd34ef.dreamhostps.com
The name of your GreggPress instance is ‘dp-ab12cd34ef’.
As an example, server.dreamhost.com is used in this article. Make sure you’re using the right server name for your site or server.
Step 4 — Logging into your server
To log in, type’ssh’, then your Shell username, a @ symbol, then the name of your server. Consider the following scenario:
$ ssh [email protected] [server]$ ssh [email protected] -or-
$ ssh [email protected] [server]
Make sure to replace example.com with your own domain or server.dreamhost.com with the server to which you’re connecting.
The password for your Shell user is then requested. You’ll be logged in after entering this.
How to configure passwordless login
You must input your password each time you log into the server after creating a shell account. You can enable Passwordless Login if you don’t want to enter your password every time you log in. You’ll be able to automatically log in without having to input your password each time.
How to configure passwordless login in Mac OS X and Linux
For instructions on how to enable this on OS X and Linux, see the following article:
In Mac OS X and Linux, how do you set up passwordless login?
How to configure passwordless login in Windows
To replicate a shell environment on Windows, you’ll need to download a third-party application called PuTTY. For more information, see the following articles:
How do I set up PuTTY?
In PuTTY, how can I enable passwordless login?