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
- 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
- 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»
Now you must select «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.
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:
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.
Hi Miguel, Thxs for your post, It was really helpful.
There is a solution to the «SSH access is not enabled…» and there is no need to call to GoDaddy support. It could be fixed by toggling the SSH Access OFF and ON again in:
My Account > Web Hosting, click ‘Manage’
Settings > SSH Access, click ‘Manage’.
Source: https://www.godaddy.com/community/cPanel-Hosting/Shell-Access-no-longer-working/m-p/126995#M7614
Also, you can Generate a public and private ssh key from: cPanel -> SSH Access -> Manage SSH Keys -> Generate a New Key
This Key must be Authorized by the user in the View/Download «Public Keys» section
😉
I tried enabling/disabling it and didn’t work (that was one of the first things I’d tried). It only worked after applying my procedure which is explained in the post.
I’ll try the public/private keys, it should work as well.
Thanks for your comment 🙂
M.