AWS EC2 Ubuntu 18.04.01 LTSインスタンスでSudo apt-get update
を実行すると、証明書の検証に失敗したために失敗します。証明書は信頼されていません。 deb.nodesource.com/node_10.x bionic Releaseにアクセスしようとすると、証明書発行者は不明です
Sudo apt-get update
を実行した後の結果は次のとおりです
Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Ign:3 https://deb.nodesource.com/node_10.x bionic InRelease
Get:4 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Err:5 https://deb.nodesource.com/node_10.x bionic Release
Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. [IP: XX.XXX.XX.XX 443]
Get:6 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Reading package lists... Done
W: https://deb.nodesource.com/node_10.x/dists/bionic/InRelease: No system certificates available. Try installing ca-certificates.
W: https://deb.nodesource.com/node_10.x/dists/bionic/Release: No system certificates available. Try installing ca-certificates.
E: The repository 'https://deb.nodesource.com/node_10.x bionic Release' no longer has a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Node.jsの現在のインストールが問題を引き起こしているようです。
ca-certificates
のetc/ssl/certs
をインストールおよび更新しようとしましたが、これは役に立ちませんでした。この問題を解決するために、ここからどのように進めればよいのか正確にはわかりません。
サーバーのセキュリティを損なうような簡単な回避策を探しているのではありません。
前もって感謝します!
[trusted=yes]
にsources.list
を追加できます。例えば:
deb [trusted=yes] http://ppa.launchpad.net/repo_name/pkg/ubuntu vivid main
deb-src [trusted=yes] http://ppa.launchpad.net/repo_name/pkg/ubuntu vivid main
Ubuntu 18.04を実行しているDockerコンテナにmongodb-org 4.0のキーを追加しようとすると、このエラーが発生しました。このベースイメージにインストールされた証明書に問題がありました。 ca-certificates
をインストールすることで修正できました。
Sudo apt install ca-certificates
問題の原因
私はもともと、PPAを介してUbuntu 18.04.01 LTSにNode.jsを、カールを介してNode.jsをインストールしようとしていました。
curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
ただし、このコマンドを実行すると、次の内容のnodesource.list
ファイルがetc/apt/sources.list.d/
に生成されます。
deb https://deb.nodesource.com/node_10.x xenial main
deb-src https://deb.nodesource.com/node_10.x xenial main
そのため、Sudo apt update
を実行すると、これらのソースはSSLハンドシェイクを介して信頼できず、更新が失敗しました。
修正方法
/etc/apt/nodesource.list.d
に移動しましたnodesource.list
ファイルをシステムから削除しました
Sudo rm nodesource.list
現在のNode.jsインストールのシステムをパージしました
Sudo apt-get purge nodejs
Sudo apt-get autoremove
Ubuntu用のNode.jsのDistro-Stableバージョンをインストールしました。
Sudo apt update
Sudo apt install nodejs
Sudo apt install npm
Sedを使用して、セットアップスクリプトからhttps://
をhttp://
に置き換えることができます。
curl -sL https://deb.nodesource.com/setup_10.x | sed 's|https://|http://|' | Sudo -E bash -
これはもちろん最後の選択肢として使用する必要があります。