Err https://download.docker.com/linux/debian buster Release Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. [IP: 205.251.219.17 443] W: https://download.docker.com/linux/debian/dists/buster/InRelease: No system certificates available. Try installing ca-certificates. W: https://download.docker.com/linux/debian/dists/buster/Release: No system certificates available. Try installing ca-certificates. E: The repository 'https://download.docker.com/linux/debian buster Release' does not have a Release file. E: Failed to download some files W: Failed to fetch https://download.docker.com/linux/debian/dists/buster/Release: Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. [IP: 205.251.219.17 443] E: Some index files failed to download. They have been ignored, or old ones used instead.Проверил ссылку из браузера -- всё ок, на той стороне сертификат валидный.
Значит дело в нашем сервере. Оно и понятно, на других серверах этот же репозиторий работает нормально.
Но ни curl, ни wget не ругается на сертификат, как и openssl s_client.
Более того, подключил еще один проверенный репозиторий по https, на него валятся такие же ошибки.
За пару часов в гугле ничего не нашел. У всех с такой ошибкой какие-то проблемы с корневыми сертификатами и им предлагают произвести стандартные танцы с бубнами вокруг пакета ca-certificates. У меня же с сертификатами всё хорошо, состав и количество совпадают с "рабочими" серверами. Но именно apt не хочет работать по https.
Дело оказалось в правах на каталог /etc/ssl/certs. Кто-то ошибочно выставил на него режим 700, поэтому curl и wget, запущенные от root добрались до корневых сертификатов, а apt из-под непривилегированного пользователя не смог.
А значит решением будет:
# chmod 755 /etc/ssl/certs/