First steps in Secure Shell (SSH)
Despite how scary the words “shell” and “computer terminal” may sound, they are actually not so intimidating when one knows their meaning and purpose.
For Linux fans, working with a terminal or using commands in the shell for system management and setup is something ordinary and does not pose any challenges. But for those who have never used the black window the idea for writing commands instead of clicking on icons looks quite tedious and incomprehensible.
SSH stands for two words – secure and shell. We will skip the explanation of secure, but will talk a bit about what a shell is.
In computing, shell is a program which plays the role of a translator between the user and the operating system. The shell provides an interface though which the user can enter commands to run and use the services of the operation system.
There are two types of shell:
- Text shell – with command line interface (CLI)
- Graphical shell – with graphical user interface (GUI).
With text shells the user issues commands to the program in the form of successive lines of text in a special window (terminal). With graphic shells the user does not need to know or type any commands. Instead, he interacts with the operating system by means of graphical icons and visual indicators.
In most of the Linux-based systems the default text shell is bash (Bourne-again shell), but there are also other shells such as ksh, tcsh and zsh. cmd.exe (Command Prompt) and Windows PowerShell are the most commonly used text shells for Windows-based systems.
SSH (Secure Shell) is a network protocol, used to enable secure access and connection to the shell of a remote machine. The SSH connection between the two applications, SSH server and SSH client, is encrypted. This provides high level of security for the data transferred.
SSH protocol was designed in 1995 by Tatu Ylönen at the Helsinki University of Technology, Finland. The reason for creating the protocol was to secure the university network which had to face a password-sniffing attack earlier in the same year.
Quickly after its appearance SSH replaced the unsecured network protocols such as telnet, rlogin, rsh, rcp that had been used until then. The last released and widely used protocol version is SSH-2.
SSH is the most popular method for accessing Linux-based servers, just like the virtual servers (VPS).
The text shell offers better opportunities for more precise management and configuration than the graphic interface. This is due to the fact that not all commands and actions in the system can be present in the graphic interface.
The shell is mainly used by sysadmins for system configuration and management. As we already mentioned, not all of the commands are available in the graphical control panel. For that reason the text shell remains the main tool for full control and system management.
Here are a few of the actions you can perform when you have SSH access:
- Using Git client in the hosting account
- Working with MySQL databases
- CMS management – WordPress, Drupal
- Checking the running processes
- Compression and archiving of files and directories
If SSH access to the shared hosting account is required, the cPanel user is used as this is not the main admin system user.
You can choose between different software solutions or SSH clients in accordance with the operating system you are using on your computer.
Normally, Linux users can directly go through the system terminal to connect with a remote server via SSH. For example by using the command:
ssh user@vps-ip-address -p vps-port
Windows users, however, will need to additionally install a SSH client application. One of the most popular SSH clients for Windows is PuTTY. If you need to access more than one server via SSH, you can use tabs for the different SSH sessions (try MTPuTTY).
We highly recommend you not to fear the unknown and just give it a try! All of the commands you can use in the terminal can be found online, for example on the Linux commands website.
Here are a few simple commands which might help you get oriented in the scary black window:
(shows your current directory)
You might easily get lost while working with the terminal and changing directories too often. With this command you will display the name and full path to the directory you are working in.
(shows the current directory content)
This command is similar to the dir command in MS-DOS. The -l and -a options are added to ls as with them the list will contain further information and will display file names beginning with a dot (“.”).
(creating a new directory)
You can create a new directory with this command. For example, mkdir name_of_the_directory will create e new directory, named name_of_the_directory.
SSH access to the hosting account or virtual server is one of the most secure connections possible (compared to FTP and web access). For even bigger security we recommend that you access your hosting account using SSH key.
Fun fact: Google also has a shell – Google Shell or goosh: http://www.goosh.org. Goosh accepts user commands and displays the results in the window. It might be used for a super fast search in Google, Wikipedia, etc. This shell works in the Google Chrome browser. You can start a search as you directly type a word in the address bar, after the domain, for example http://goosh.org/#shell will display the first four results for shell.