ROS GPG Key 期限切れ

ROSのaptリポジトリに利用されているGPGキーは期限切れになってしまいました。キーは延長されて、新しいパブリックキーは生成されました。ただし、全ユーザは自分のPCなどをアップデートすることが必要です。

ROS 1の場合は下記のコマンドでキーをアップデートしてください。

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

ROS 2の場合は下記のコマンドを実行してアップデートしてください。

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

英語ですが詳しくはこちらをご覧ください

3 Likes

@gbiggs ROS2 FoxyのDockerコンテナで試しました。

docker run -it --rm ros:foxy bash

ROS 2の場合は下記のコマンドを実行してアップデートしてください。

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

Dockerコンテナで以下のコマンドを実行しましたが解決していないようです。

apt update || apt install -y curl && curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && apt update

W: GPG error: http://packages.ros.org/ros2/ubuntu focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <info@osrfoundation.org>
E: The repository 'http://packages.ros.org/ros2/ubuntu focal InRelease' is not signed.
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.

https://discourse.ros.org/t/ros-gpg-key-expiration-incident/20669/28を読んで以下のコマンドを実行すると解決しました。

apt update || apt install -y curl && curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - && apt update

Docker Official imageの更新はいろいろ作業があり,ようやく先ほど完了したようです.私の環境ではなにも気にせずに使えるようになりました.
尽力されている皆さまに圧倒的感謝です.

@takasehideki @gbiggs @dandelion1124 ありがとうございます。助かりました(^^♪

今年の4月にROSのインストール方法が変更になったようです。
ROS GPG Key Expiration Incident - #15 by ipa-mdl で教えてもらいました。)

それ以前にインストールした場合、それ以前の方法を引き続き使用してインストールしている場合は"apt-key add"を使った方法(現在ROS1用として案内されている方法)でアップグレードする必要がありそうです。
Dockerfileが更新されていない場合は新しいビルドでも"apt-key add"を使った方法を実施する必要がありました。

インストール方法変更のPR:

公式の案内で2021年4月より前にインストールした場合について言及してみてはいかが?と聞いています。