ntpdate: no server suitable for synchronization found
Your hosting provider is blocking ntp packets. This heavy handed approach has been implemented by some ISPs in response to the DDoS attacks. You can see that ntpdate is sending the packets fron the ntpdate -vd :
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
I would contact your ISP and ask if they are blocking external ntp requests and if they have a local server that you can use for time sync.
There are a couple more obscure possibilities but it is tough to rule them out since you have not posted any logs from syslog.
This is not an ntp answer, however...
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
this and the curl version here.
Use htpdate
If ntp transmission is blocked in your network, install htpdate. It syncs time over http protocol. Accuracy will be withing 0.5 secs, according to man page.
sudo apt-get install htpdate
sudo htpdate -a google.com
htpdate service will start when you install the package. Time will be update immediately if there is internet connection.
I had the same issue and this is how I solved it. I have give a detailed answer from top to bottom. You might want to skip to middle of my answer or just refer the screenshots below for understanding it in a glance.
First install ntpdate(Obviously you have done this)
sudo apt-get install ntpdate
NEXT You need to configure ntp with servers as follows:
You should at least set following parameter in /etc/ntp.conf config file:
server
For example, open /etc/ntp.conf file using nano text editor:
sudo nano /etc/ntp.conf
Locate server parameter and if it is empty set it as follows:
server pool.ntp.org
But usually In ubuntu already some servers are prewritten which might be
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
Then Save the file and restart the ntpd service:
sudo /etc/init.d/ntpd start
You can synchronize the system clock to an NTP server immediately with following command:
sudo ntpdate pool.ntp.org
or just run already servers are defined
sudo ntpdate 0.ubuntu.pool.ntp.org
or other servers that are defined using server
generally
sudo ntpdate <one of the servername in /etc/ntp.conf>
BUT after that there is a chance you get the Error NTP socket in use
as shown below:
In that case just run
ntpdate -u pool.ntp.org
to update when ntp deamon is running
OR just stop the deamon,update and start it again as follows:
sudo ntpdate pool.ntp.org
sudo service ntp stop
sudo ntpdate pool.ntp.org
sudo service ntp start
and you will get
Similar to Alex's answer, this worked for me for getting around the ntp port being firewalled:
sudo date -s "$(curl http://s3.amazonaws.com -v 2>&1 | \
grep "Date: " | awk '{ print $3 " " $5 " " $4 " " $7 " " $6 " GMT"}')"