Я пытаюсь включить ESM на своем VPS-сервере 16.04, но получаю ошибки пытаюсь подключиться к каноническому серверу. Ошибка, которую я получаю после запуска команды ssh # sudo ua attach C122 .....
:
Failed to connect to authentication server
Check your Internet connection and try again.
Failed to access URL: https://contracts.canonical.com/v1/resources?kernel=4.4.0-1160.21.1.vz7.174.13&series=xenial&architecture=amd64
Cannot verify certificate of server
Please check your openssl configuration.
Я где-то читал, это может быть iptables
, блокирующее его, но у меня есть ВЫХОДИТ
на ПРИНЯТЬ ВСЕ
.
И когда я пингую https://canonical.com , я получаю нормальный ответ.
У кого-нибудь есть идеи?
Спасибо за помощь, @ andrew-lowther. Я сделал, как вы предложили. Я не смог опубликовать этот длинный результат в комментарии к вашему ответу.
Сертификаты уже были последней версии. Тест на завиток тоже кажется прекрасным:
* Connected to contracts.canonical.com (91.189.92.69) port 443 (#0)
* found 129 certificates in /etc/ssl/certs/ca-certificates.crt
* found 520 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_256_GCM_SHA384
* server certificate verification OK
* server certificate status verification SKIPPED
* common name: contracts.canonical.com (matched)
* server certificate expiration date OK
* server certificate activation date OK
* certificate public key: RSA
* certificate version: #3
* subject: CN=contracts.canonical.com
* start date: Fri, 16 Jul 2021 18:50:43 GMT
* expire date: Thu, 14 Oct 2021 18:50:41 GMT
* issuer: C=US,O=Let's Encrypt,CN=R3
* compression: NULL
* ALPN, server accepted to use http/1.1
> GET / HTTP/1.1
> Host: contracts.canonical.com
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Server: openresty/1.15.8.2
< Date: Sat, 24 Jul 2021 10:10:20 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 19
< Connection: keep-alive
< Strict-Transport-Security: max-age=15724800; includeSubDomains
< X-Content-Type-Options: nosniff
< X-Trace-Id: 05087364-13c5-426f-9a59-99c7384f2dde
<
404 page not found
* Connection #0 to host contracts.canonical.com left intact`
Дает ли это еще какие-нибудь подсказки?
Еще раз спасибо.
Сообщение об ошибке указывает, что соединение разрешено, но ваш VPS-сервер не доверяет сертификату канонического сервера.
Хороший первый шаг - убедиться, что корневые сертификаты на вашем VPS-сервере актуальны.
apt-get update
apt-get install ca-certificates
Использование curl
- простой способ проверки. Если эта команда завершится ошибкой с выводом, включающим Проблема с сертификатом SSL
, то это подтвердит выпуск сертификата.
curl -vs https://contracts.canonical.com
Вы также можете использовать параметр -k
с curl
, чтобы игнорировать ошибки сертификатов и узнать больше о том, какой сертификат получает сервер VPS.
curl -vsk https://contracts.canonical.com -o /dev/null
ИЗМЕНИТЬ
Ваш вывод curl
действительно предполагает, что сертификат канонического сервера является доверенным. Ваш VPS-сервер может подключиться к серверу Canonical, и ничто не мешает трафику.
Это еще несколько команд, которые вы можете попробовать, хотя обычно их не нужно запускать вручную.
update-ca-certificates
c_rehash /etc/ssl/certs
Когда я strace
команда ua
, похоже, специально ищет файл / usr / lib / ssl / certs / 4042bcee.0
. Вы также можете убедиться, что он существует и является символической ссылкой на корневой сертификат. Эта символическая ссылка создается командой c_rehash
.
# ls -l /usr/lib/ssl/certs/4042bcee.0
lrwxrwxrwx 1 root root 16 Feb 19 14:09 /usr/lib/ssl/certs/4042bcee.0 -> ISRG_Root_X1.pem