• Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Matt Doyle | Elated Communications

Web and WordPress Development

  • About Me
  • Blog
    • Design & Multimedia
      • Photoshop
      • Paint Shop Pro
      • Video & Audio
    • Online Marketing
      • E-Commerce
      • Social Media
    • Running a Website
      • WordPress
      • Apache
      • UNIX and Linux
      • Using FTP
    • Web Development
      • HTML
      • CSS
      • JavaScript
      • PHP
      • Perl and CGI Scripting
  • Portfolio
  • Contact Me
  • Hire Me
Home / Blog / Running a Website / UNIX and Linux / SSH and Basic Commands

SSH and Basic Commands

14 May 2007 / 1 Comment

In this tutorial we’ll introduce you to SSH – a tool that allows you to send remote commands to your Web server – and show you some simple UNIX commands to help you manage your website.

Not all Web hosts give you SSH access to your Web server. This is often for security reasons, or because the host is running a non-UNIX server such as Windows. If in doubt, ask your Web hosting company if they support SSH.

What is SSH?

SSH is a protocol that allows you to connect to a remote computer – for example, your Web server – and type commands to be carried out on that computer, such as moving and copying files, creating directories (folders), and running scripts. To talk to your Web server via SSH, you need an SSH client on your computer – see below – and you also need three pieces of information:

Your Web server’s IP address or hostname
Often – but not always – the hostname is the same as your website’s domain name.
A username
This is the username that you’ll use to login via SSH. Often it’s the same as your Web control panel or FTP username.
A password
This is the password that’s associated with the above username.

If you’re not sure what to use for your hostname, username or password, check with your Web hosting company.

Connecting using an SSH client on Windows

There are many free and commercial SSH client programs available for Windows. A good, popular free client is PuTTY. To use it, simply download the putty.exe file, then double-click putty.exe on your computer to run it. You’ll see PuTTY’s configuration dialog appear:

PuTTY configuration dialog

Enter your Web server’s IP address or hostname in the Host Name (or IP address) box, and click Open. The first time you connect to your Web server, you’ll probably see a security alert dialog appear, warning you that PuTTY doesn’t know anything about the machine (“host”) that you’re connecting to. Click Yes to add your server to PuTTY’s cache and proceed with the connection.

You’ll now see a black terminal window appear, containing a “login as:” prompt:

PuTTY login prompt

Enter your username, and press Enter. A “Password:” prompt appears; enter your password and, again, press Enter. If all goes well, you’ll now be logged into your Web server. You’ll probably see some sort of welcome message from your server, followed by a shell prompt:

PuTTY window - logged into Web server
A shell prompt is a small piece of text that lets you know the server is waiting for you to type something. Often the prompt ends in a dollar symbol ($). In our case, the shell prompt is “matt@bart:~$”. This tells us that we’re logged in with the username “matt”, the computer’s name is “bart”, and we’re currently in our home directory (~).

Connecting using an SSH client on Mac OS X or Linux

If you use a Mac or run Linux, you’re in luck, as Mac OS X and Linux both come with a built-in SSH client. To use it, you first need to open a terminal window. On Mac OS X, you can do this by double-clicking the Terminal application inside Applications/Utilities in the Finder. To open a terminal on Linux, consult your distribution’s documentation; usually it’s available via the applications menu.

Once you have a terminal window open, type:


ssh username@hostname

where username is your SSH username, and hostname is the host name or IP address of your Web server. Then press Enter. If this is the first time you’ve tried to connect to this computer, you’ll see a warning to the effect that the host couldn’t be authenticated. Type yes and press Enter to confirm that you’d like to continue with the connection.

After a few seconds you should see a “Password:” prompt appear; enter your password and press Enter once again. You should now see a welcome message and a shell prompt, indicating that you’re logged into your Web server:

Mac OS X terminal window - logged into Web server
If you get an error message – such as “Access denied” – then your username or password is probably incorrect. As your Web hosting company for help.

Some basic commands

Congratulations! You’ve logged in to your Web server using SSH. You can now issue commands to the server by typing them in at the shell prompt:


username@webserver:~$

and pressing Enter. Let’s look at some simple Unix commands.

The ls command

ls is short for “list”; it lists all the files and directories in your current directory (called the working directory in Unix parlance). Type ls and press Enter, and you should see a listing appear in the terminal window:


username@webserver:~$ ls
myfile.txt   myfile2.txt   mysite.com
The exact listing will, of course, depend on what files you have in your directory on the server!

The cd command

cd stands for “change directory”, and it allows you to move into and out of directories, much like double-clicking folders on your PC. For example, if mysite.com listed above is the directory containing your website, you can move into the directory as follows:


username@webserver:~$ cd mysite.com

You can then do another ls to list the contents of the mysite.com directory:


username@webserver:~/mysite.com$ ls
cgi-bin   htdocs   logs

To move back up a directory, use cd .. (".." means “the parent directory”). You’ll then be back in your original directory:


username@webserver:~/mysite.com$ cd ..
username@webserver:~$ ls
myfile.txt   myfile2.txt   mysite.com
Notice how our shell prompt changes to reflect our current directory. Not all shell prompts do this; it depends how your server has been set up.

The pwd command

Often it’s useful to know your exact current directory. To find this out, type the command pwd (short for “print working directory”) and press Enter. The computer displays the full path to the current directory you’re working in:


username@webserver:~$ pwd
/home/users/username/

The more command

The more command is a quick way to view the contents of a text file on your server. Just type more followed by the name of your file, and press Enter:


username@webserver:~$ more myfile.txt
Project Gutenberg's The Complete Works of Artemus Ward, Part 1
#1 of this seven part series by Charles Farrar Browne

Copyright laws are changing all over the world, be sure to check
the laws for your country before redistributing these files!!!

Please take a look at the important information in this header.
We encourage you to keep this file on your own disk, keeping an
electronic path open for the next readers.

Please do not remove this.

This should be the first thing seen when anyone opens the book.
Do not change or edit it without written permission.  The words
are carefully chosen to provide users with the information they
--More--(16%)

If your text file is more than one page long, you’ll see a line such as:


--More--(16%)

at the bottom of the page, showing you how much of the text file you’ve seen. Press Enter to scroll through one line at a time, or Space to scroll one page at a time. To cancel the more command, press q.

Depending on your server setup, you may also be able to use the arrow and Page Up/Page Down keys to scroll up and down through the text file.

That should be enough to keep you going for a while! Once you’re confident with using SSH and issuing commands, you can start to learn other useful commands for copying and moving files, testing CGI scripts, and working with directories. Take a look at our Useful UNIX commands reference for more info.

Filed Under: UNIX and Linux Tagged With: command line, remote login, secure shell, telnet

Reader Interactions

Comments

  1. Ezeelogin says

    17 March 2022 at 10:20 am

    Hi Team,

    I am having some log files with different timestamps. What is the command for scp to get the files between two timestamps? Thanks in advance

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

To include a block of code in your comment, surround it with <pre> ... </pre> tags. You can include smaller code snippets inside some normal text by surrounding them with <code> ... </code> tags.

Allowed tags in comments: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre> .

Primary Sidebar

Hire Matt!

Matt Doyle headshot

Need a little help with your website? I have over 20 years of web development experience under my belt. Let’s chat!

Matt Doyle - Codeable Expert Certificate

Hire Me Today

Call Me: +61 2 8006 0622

Stay in Touch!

Subscribe to get a quick email whenever I add new articles, free goodies, or special offers. I won’t spam you.

Subscribe

Recent Posts

  • Make a Rotatable 3D Product Boxshot with Three.js
  • Speed Up Your WordPress Website: 11 Simple Steps to a Faster Site
  • Reboot!
  • Wordfence Tutorial: How to Keep Your WordPress Site Safe from Hackers
  • How to Make Awesome-Looking Images for Your Website

Footer

Contact Matt

  • Email Me
  • Call Me: +61 2 8006 0622

Follow Matt

  • E-mail
  • Facebook
  • GitHub
  • LinkedIn
  • Twitter

Copyright © 1996-2023 Elated Communications. All rights reserved.
Affiliate Disclaimer | Privacy Policy | Terms of Use | Service T&C | Credits