Skip to content

How I set up SSH on my Hosting service

2011 February 26
by Dan

"I will find a way, or make one." -- Hannibal (248-183 BC)

This article provides step-by-step instructions for activating SSH on GoDaddy.com.

With SSH, I can get a Unix login shell on my hosting service. With this access, I can use Unix commands to search through my website content and to make changes on the hosting server. At the same time, SSH gives me access to a very capacious Unix box for a wide range of utility computing tasks.

SSH is a secure login access method, in use on Unix hosts since 1995. Tatu Ylonen at the Helsinki University of Technology (a.k.a. Aalto University) developed SSH.  SSH is widely-used, well-tested and trusted for high-security computing. The software tool Putty uses SSH to connect and establish a command window. There are other methods. I use Putty. (At the end of this article, find links to SSH and Putty and other tools mentioned. All are free or nearly so.)

When I got my hosting service at GoDaddy.com, I believe they didn’t make SSH available or I would have used it. Maybe they’ve always made it available, and I misunderstood. In any case, I can get SSH with GoDaddy.com hosting now.

It surprised me that setting up SSH on GoDaddy.com isn’t straightforward if you have databases installed. During the process, GoDaddy will present this message to you:

Please Note: 

Your account will be migrated to a new hosting server.

When you enable SSH, your Web Site files are moved to a new server and your database host name changes. Be aware that your database(s) might experience downtime of up to 10 minutes during this upgrade. After you request enabling SSH, you will receive an email message that contains your new database host name and information on updating your site code. You must update your site code to use the new database host name in your connection string within 24 hours of this upgrade to prevent loss of database connectivity. In addition, if you installed any Value Applications in your hosting account, you need to update your connection strings for each application. Refer to our Help article, “What are the connection strings for my application’s database?” for a list of connection string locations. If you are using a DSN to connect to your database, no action is required.

To enable SSH, click Enable.

After SSH is enabled, you can use the SSH client of your choice to connect to your hosting server securely.

If you have databases, then I recommend you allow up to four elapsed days to activate SSH.

If you don’t have databases, you merely need find the button and click it. Given GoDaddy’s ease of navigation, finding the button can take a couple of hours if you don’t know where to find it already.

Before we dive into the dreadful details, please know that your situation might differ from mine. Circumstances and time may introduce differences, not to mention errors, both yours and mine. With that understood, and before we really get started, let’s go over something we will use several times.

Here is the procedure we call

GO TO THE HOSTING DASHBOARD
1. http://GoDaddy.com
2. Log in with username and password.
3. On the horizontal green menu bar, click the My Account tab.
4. Ignore the sidebar on the left.
5. Scroll down about half way till you see a horizontal black bar labeled Products.
6. Below the black bar, click on the link Web Hosting. You will see four columns named My Accounts, Plan, Billing Date and Control Center.
7. The account names under My Accounts correspond to domain names. Find the row with the domain name you wish to work on. On the same row, on the far right in the column labeled Control Center, find and click on the button labeled LAUNCH.

Now, let’s get underway. Here are the steps. (In these instructions, “->” means “Choose”.)

1. Find out whether you have any databases.
i. Go to the Hosting Dashboard
ii. Read down the leftmost column till you come to
Database
MySQL:
iii. If you see “MySQL: 0 …”, then you don’t have any databases.
If you see “MySQL: n …” where n is a non-zero number, then you have databases.

2. If you use WordPress, then export your blog. With the export files, if something goes wrong, then you can take your blog to some other hosting provider if necessary. Export runs quickly.
a. -> http://myblog.com/wp-admin
b. Log in with your admin id and password.
c. From the left sideboard menu, in the Tools section,
-> Export -> Download Export File -> Save File
and choose a place on your computer to save the file. Choose a place where you can find the file, surely and quickly. I put mine in a folder named …/myblog.com/bak . Write in your notes the name of the file and the folder in which you put it.

3. If you use Joomla,
a. -> http://myjoomlasite.com/…/administrator
b. -> Log in with administrative name and password.
c. -> Site -> Control Panel -> Global Configuration -> Server
Write the values from these fields in your notes:
i. Database type
ii. Hostname
iii. Username
iv. Database
v. Database prefix

4. (Optional) Stop any running databases. If you don’t have any databases, then just skip this step. If you do have databases, then maybe it doesn’t matter whether you stop them or not. If you have a lot of money or a lot of customer activity or potential income loss or national secrets involved in databases on this website, then you probably want to stop them. If all you are running is your personal blog about favorite recipes from Nebraska or pictures of your dog, then you can probably skip this step. If you want to stop the databases, then find somebody who knows how to do database administration. I would have to spend several days figuring this out.

5. If you have databases, then back them up. A larger database takes more time to back up. Do this:
a. Go to the hosting dashboard.
b. Click on the horizontal bar labeled “Databases”.
c. -> MySQL
d. For the database you wish to back up, click the pencil icon. (I don’t know why it’s a pencil.)
e. -> Backup. Write the file name in your notes.
f. -> OK.
g. -> MySQL and repeat with the next database.

6. Back up the contents of your website. If something goes wrong, it will be easier and quicker to restore your website from backup than to find somebody to sue. For your recipe collection blog, I suggest you use FTP to make a backup copy onto your local computer hard drive. In my opinion, the best FTP client for this purpose is FileZilla. It costs a few minutes or a few hours to back up your website. GoDaddy doesn’t back up your website automatically. They will sell you FTP Backup Space. I don’t know what it costs.

A backup of your website is a copy of your website. Make a copy of all of it. If you lose your website, then you will still have the backup copy. (The Tower Commission still had the backups to catch Oliver North after North deleted evidentiary emails.) If you lose the backup copy, then you will still have the website. We can imagine losing both, and we can imagine dying from a lightning strike (probability of a person dying from a lightning strike in the USA in any year: 1 in 4,000,000). If your website involves state secrets or large amounts of money, then get professional help.

7. Enable SSH.
a. Go to the Hosting Dashboard.
b. On the green horizontal menu bar near the top of the window, under the words “HOSTING CONTROL CENTER”, find the tab Settings. Hover the mouse pointer over the tab Settings to see the dropdown menu. From the dropdown menu, choose SSH.
c. Enter your phone number where you are right now, because GoDaddy’s robot will call you in just a minute. -> Enable
d. Wait for a call from a robot. I had to wait less than one minute. An English-speaking robot called and gave me a 5-digit pin number.
e. Enter the 5-digit pin number -> Verify.

8. GoDaddy warns you may have to wait up to 72 hours.
a. On hosting without databases, I was able to log in with Putty not more than a minute later.
b. On hosting with databases, I was able to log in with Putty about 26 hours later.

9. If you have databases, you may wish to check on progress from time to time. To check:
a. Go to the hosting dashboard.
b. Click on the horizontal bar labeled “Databases”.
c. -> MySQL. If the process isn’t finished, you will see the words “Pending Account Change”.

10. When the process finishes, GoDaddy will notify you by email. I received an email saying:

It can take up to 24 hours from the time the update was completed for any newly published content to be visible on your website.

11. Try connecting using SSH-enabled software. I use Putty. It should work now.

12. Software applications such as WordPress and Joomla and others may need configuration adjustments to recognize the transformed databases. See the well-written http://products.secureserver.net/products/hosting/connection_strings.htm for instructions how to adjust your applications.

13. You are finished.

Sources:
1. On SSH, http://en.wikipedia.org/wiki/Secure_Shell .
2. On Putty, http://www.chiark.greenend.org.uk/~sgtatham/putty/ .
3. On FileZilla, http://filezilla-project.org/ .
4. On WordPress, http://community.godaddy.com/help/article/6606 and http://wordpress.org/
5. On Joomla, http://community.godaddy.com/help/article/6262 and http://www.joomla.org/
6. On GoDaddy, http://GoDaddy.com .
7. N. Adekoya and K. B. Nolte, Struck-by-Lightning Deaths in the United States, Journal of Environmental Health (May 2005), http://www.bls.gov/iif/oshwc/cfoi/jeh5_05_45-50.pdf (retrieved November 14, 2010).
8. Lawrence J. Magid, As North Learned, Deleted Files are Retrievable (Los Angeles Times, August 10, 1987), http://articles.latimes.com/1987-08-10/business/fi-58_1_computer-files (retrieved Feb. 25, 2011).
9. Image: Hannibal in the Appenines, http://hannibalthewarrior.com (retrieved Feb. 26, 2011).
10.  Hannibalhttp://en.wikiquote.org/wiki/Hannibal (retrieved Feb. 26, 2011).


No comments yet

Leave a Reply

You must be logged in to post a comment.