Ah yes, what a headache is to enable a simple SSH access with GoDaddy, it took me at least a couple of hours to do it but I finally succeeded and I’m going to tell you what you need to do.

First is to get a good SSH client

If you have linux you already have one or several terminals.

But if you have Windows you may want to use Putty which is really simple and easy to setup, but I really prefeer the capabilities of Cygwin, so I’ll show you how to download, install and configure it. Cygwin is a terminal emulator with many available tools, almost like having a tiny linux in your windows.

First download Cygwin for 64b or 32b according your needs, if you untrust the links visit directly the website and do it yourself.

Next, execute what you’ve downloaded:

Execute Cygwin installer

Execute Cygwin installer

  • Do not delete the file after installing the software, this package is also the updater of cygwin and will help you to install other tools.
  • Click «Next» everytime
  • in «Download Source» select «install from Internet» and click «Next»
  • Select the directory to store the installation and click «Next»
  • In the «Available Download sites» pick the first one and «Next» (This will download the repository)
  • Now in the filter select «Not installed» and in search type «ssh»
  • Find the openssh package and select it to install, in the drop down menu check the latest version available
Cygwin Install

Cygwin Install

  • Complete the install process by clicking next and don’t forget in the last step to put a direct access in your desktop

Now you have a terminal to connect via SSH to anywhere.

Godaddy, setting up SSH

The second step is to configure your GoDaddy account to enable SSH. Authenticate in GoDaddy, then go to «Visit my account»

Click on "Visit my account"

Click on «Visit my account»

Now you must select «Manage»

Click on Manage

Click on Manage

Now in the next screen take note on the IP address, username and password (those will be used to connect via SSH)

*The password is for your CPANEL not for your GoDaddy Account, you won’t change your access to GoDaddy modifying that password.

Take note of your IP, user, password and verify SSH is on.

Take note of your IP, user, password and verify SSH is on.

Alright, now let’s try to connect via SSH to our already configured account.

Connecting via SSH to GoDaddy and possible problems

Open Cygwin and execute the ssh command:

  • Change your user and remember is case sensitive
  • Change the IP Address
  • When asked provide the password of CPANEL
ssh myUser@IP_ADDRESS

It looks like this:

Connected properly to godaddy server

Connected properly to godaddy server

If everything is good you’ll be connected.

ssh_exchange_identification: read: Connection reset by peer

First common error, trying to access via SSH  and  incorrectly providing the  password you’ll be blocking your IP address:

ssh_exchange_identification: read: Connection reset by peer

In this scenario you must call to GoDaddy and tell them to «unblock» your public IP address. This is hard because most of the help desk people do not understand properly the problem, they have to escalate it to the correct area.

One test you can do to show them that your public IP address is blocked is to connect to the wifi on your cellphone (by sharing the connection) and try executing the ssh command again, it will prompt for your password (do not enter it) that means you are being accepted for the server to authenticate, in the other connection you’ll notice that the error «ssh_exchange_identification» appears almost immediatly and there’s no password challenge.

So tell them «hey, with this other WiFi connection the password is prompted» but if I connect with this other WiFi then the message «ssh_exchange_identification: read: Connection reset by peer» appears and I’m unable to provide my password so please unblock my IP!

Trust me, they have to unblock your IP address but I had a hard time explaning a help desk boy the problem, I had to use very detailed examples, send him the screenshots of the error and the prompt password using the other connection until finally my issue was escalated properly and I was able to connect.

Another solution would be telling your ISP to change your public IP address, but I think that would be a bigger problem.

And the last alternative if none of them is willing to help you, use another WiFi with a different IP address.

Shell access is not enabled on your account!
If you need shell access please contact support.

Another interesting error. Although you may have configured properly your account to enable SSH sometimes it is not really enabled.

Shell access is not enabled on your account!
If you need shell access please contact support.

Execute the command of «ssh» using the verbose mode «-vvv» to obtain more information, like this:

ssh -vvv myUser@IP_ADDRESS

You’ll see this output:

debug3: send packet: type 98
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0

# <here the error appears>
Shell access is not enabled on your account!
If you need shell access please contact support.

debug3: receive packet: type 96
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: chan_shutdown_write (i0 o1 sock -1 wfd 5 efd 6 [write])
debug2: channel 0: output drain -> closed
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug2: channel 0: rcvd eow
debug2: channel 0: chan_shutdown_read (i0 o3 sock -1 wfd 4 efd 6 [write])
debug2: channel 0: input open -> closed
debug3: receive packet: type 97
debug2: channel 0: rcvd close
debug3: channel 0: will not send data after close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug3: send packet: type 97
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
  #0 client-session (t4 r0 i3/0 o3/0 e[write]/0 fd -1/-1/6 sock -1 cc -1)

debug3: send packet: type 1
debug3: fd 1 is not O_NONBLOCK
Connection to IP_ADDRESS closed.
Transferred: sent 3176, received 3960 bytes, in 10.5 seconds
Bytes per second: sent 303.2, received 378.1
debug1: Exit status 0

Again, you’ll have to contact GoDaddy to enable the feature for you, it’s important that you send them this debug information so their HelpDesk guys will be able to escalate the incident properly.