Kali Linuxを更新できません。apt-get update
を実行しようとすると、次のエラーメッセージが表示されます。
# apt-get update
Get:1 http://kali.mirror.garr.it/mirrors/kali kali-rolling InRelease [30.5 kB]
Err:1 http://kali.mirror.garr.it/mirrors/kali kali-rolling InRelease
The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <[email protected]>
Reading package lists... Done
W: GPG error: http://kali.mirror.garr.it/mirrors/kali kali-rolling InRelease: The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <[email protected]>
E: The repository 'http://kali.mirror.garr.it/mirrors/kali kali-rolling 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.
カーネルバージョンが必要な場合:
# uname -a
4.13.0-kali1-AMD64 #1 SMP Debian 4.13.10-1kali2 (2017-11-08) x86_64 GNU/Linux
どうすれば修正できますか?
Gpgキーを追加します。
gpg --keyserver hkp://keys.gnupg.net --recv-key 7D8D0BF6
指紋を確認します。
gpg --fingerprint 7D8D0BF6
出力例:
pub rsa4096 2012-03-05 [SC] [expires: 2021-02-03]
44C6 513A 8E4F B3D3 0875 F758 ED44 4FF0 7D8D 0BF6
uid [ unknown] Kali Linux Repository <[email protected]>
sub rsa4096 2012-03-05 [E] [expires: 2021-02-03]
次に:
gpg -a --export 7D8D0BF6 | apt-key add -
apt update
更新:2018年2月8日
しばらくの間Kaliインストールを更新しなかった場合(tsk2)、リポジトリキーの期限切れに関するGPGエラーが表示されることに注意してください(
ED444FF07D8D0BF6
)。さいわい、この問題は、次のコマンドをrootとして実行することですばやく解決できます。
wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
次のコマンドを使用して、kaliパッケージリポジトリのキーをダウンロードします。
wget -q -O - archive.kali.org/archive-key.asc | apt-key add
次に、更新を実行します。
これは組み込みです。すでにKaliのリポジトリを使用している場合は、外部ソースから取得する必要はありません。
$ Sudo apt install kali-archive-keyring
私はKaliをDebianベースに追加するシステムを使用しているため、リリースを指定する必要がありました。次のように確認できます。
$ apt policy kali-archive-keyring
Installed: 2015.2
Candidate: 2015.2
Version table:
2018.1 1
1 http://http.kali.org/kali kali-rolling/main AMD64 Packages
1 http://http.kali.org/kali kali-rolling/main i386 Packages
*** 2015.2 100
100 /var/lib/dpkg/status
$ Sudo apt install kali-archive-keyring/kali-rolling
このようにすると、新しいキーはリポジトリ内の古いキーによって署名されるため、中間者攻撃を防ぐために正しいキーをインポートしていることを盲目的に信頼する必要はありません。
このリポジトリがまだないためにこの更新を取得できない場合は、2つの選択肢があります。
1: https://http.kali.org/kali/pool/main/k/kali-archive-keyring/ に移動し、.debファイルをダウンロードして、dpkg -i kali-archive-keyring*.deb
からインストールします
2:とにかくリポジトリ経由で追加します(追加するまでは「安全ではありません」)。
$ Sudo apt update -oAcquire::AllowInsecureRepositories=true
$ Sudo apt install kali-archive-keyring
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
kali-archive-keyring
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 7,008 B of archives.
After this operation, 17.4 kB of additional space will be used.
Do you want to continue? [Y/n]
WARNING: The following packages cannot be authenticated!
kali-archive-keyring
Install these packages without verification? [y/N] y
…
Twitterで公開されているKali Linux として、あなたのarchive-keyring
パッケージが古くなっています。これを(rootとして)実行して更新する必要があります。
wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
Rootとしてこれらのコマンドを実行し、問題を修正します。
wget https://http.kali.org/kali/pool/main/k/kali-archive-keyring/kali-archive-keyring_2018.1_all.deb
apt install ./kali-archive-keyring_2018.1_all.deb
(ポイントは問題を解決するだけでなく、なぜそれが問題を引き起こしているのかを知ることでもあります)。
しばらくの間Kaliインストールを更新しなかった場合(tsk2)、期限切れになるリポジトリキーに関するGPGエラー(ED444FF07D8D0BF6)を受け取ります。さいわい、この問題は、次のコマンドをrootとして実行することですばやく解決できます。
wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add