错误:“由于服务器时钟差异,无法验证授权令牌”

我启用了 Google 身份验证,之前一直正常工作。但随后发生了某些情况(我想是我接受了 Linode.com 上关于机器配置的自动更新),现在 Google 身份验证无法使用,Discourse 提示:

由于服务器时钟差异,无法验证授权令牌。请重试。

每当我尝试使用 Google 登录时都会出现此提示(我尚未尝试除用户名/密码外的其他登录方式)。

我不确定是什么导致了这个错误,而且在 Google 上也找不到相关的解答。

我查看了服务器的 NTP 日志,看到了类似以下的错误:

ntpd[23986]: giving up resolving host 1.arch.pool.ntp.org: Servname not supported for ai_socktype (-8)

这看起来似乎与问题相关(导致时钟差异)。这是否确实是问题的根源?

grep ntp /etc/services 显示了什么?
应该有两行:

ntp             123/tcp
ntp             123/udp   

如果这些行不存在,请添加它们并重启您的 ntp 服务。

谢谢你的提示!

原来我搞错了:Discourse 运行在另一台服务器上(我的子域名指向了另一台树莓派)

在这台机器上 NTP 没有安装,所以我安装了它(在 Ubuntu 中运行 apt install ntp),现在问题解决了!

我遇到了同样的问题,
请查看 grep ntp /etc/services 的输出:

还有其他人知道除此之外还有什么方法可以解决这个问题吗?

@RGJ

已按照以下步骤修复:Google Login Stopped Working after manual update