web-dev-qa-db-ja.com

nodesourceでハンドシェイクが失敗したため、証明書の検証に失敗したため、apt-getの更新に失敗しました

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-certificatesetc/ssl/certsをインストールおよび更新しようとしましたが、これは役に立ちませんでした。この問題を解決するために、ここからどのように進めればよいのか正確にはわかりません。

サーバーのセキュリティを損なうような簡単な回避策を探しているのではありません。

前もって感謝します!

3
Joe

[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
3
Mike V.D.C.

Ubuntu 18.04を実行しているDockerコンテナにmongodb-org 4.0のキーを追加しようとすると、このエラーが発生しました。このベースイメージにインストールされた証明書に問題がありました。 ca-certificatesをインストールすることで修正できました。

Sudo apt install ca-certificates
1

問題の原因

私はもともと、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ハンドシェイクを介して信頼できず、更新が失敗しました。

修正方法

  1. /etc/apt/nodesource.list.dに移動しました
  2. nodesource.listファイルをシステムから削除しました

    Sudo rm nodesource.list

  3. 現在のNode.jsインストールのシステムをパージしました

    Sudo apt-get purge nodejs

    Sudo apt-get autoremove

  4. Ubuntu用のNode.jsのDistro-Stableバージョンをインストールしました。

    Sudo apt update

    Sudo apt install nodejs

    Sudo apt install npm

1
Joe

Sedを使用して、セットアップスクリプトからhttps://http://に置き換えることができます。

curl -sL https://deb.nodesource.com/setup_10.x | sed 's|https://|http://|' | Sudo -E bash -

これはもちろん最後の選択肢として使用する必要があります。

0
Toilal