nix-serve をバイナリキャッシュとして使用すると、クライアント nixos で「エラー: 無効な公開鍵」エラーが発生する

nix-serve をバイナリキャッシュとして使用すると、クライアント nixos で「エラー: 無効な公開鍵」エラーが発生する

次のエラーが発生しますerror: public key is not valid

[demo@nixos:~]$ nix-env -i ripgrep
installing 'ripgrep-0.10.0'
these paths will be fetched (0.00 MiB download, 4.76 MiB unpacked):
  /nix/store/xgr3frnb5f13sf3ich8hl8lqbwjqngw9-ripgrep-0.10.0
error: public key is not valid

[demo@nixos:~]$ sudo nix-env -i ripgrep
installing 'ripgrep-0.10.0'
these paths will be fetched (0.00 MiB download, 4.76 MiB unpacked):
  /nix/store/xgr3frnb5f13sf3ich8hl8lqbwjqngw9-ripgrep-0.10.0
error: public key is not valid

私のクライアントNixosには次の設定があります。

  nix = {
    binaryCaches = [
      "https://cache.nixos.org/"
      "http://192.168.56.1:8080"
    ];
    binaryCachePublicKeys = [
      "my-nix-cache:aDrIoY93RjzjnMmNYXlKSL3OerPqIGEiqv70CzwWzQvPejwp/89PN6FWkywTYqhjJ/muRT9cJHT4B8S+0pKCjw="
    ];
    trustedUsers = [ "root" "chris" ];
  };

nix-serve私がしているサーバーから:

NIX_SECRET_KEY_FILE="/etc/nixos/nixkeys/key.private" nix-serve -p 8080   
2019/09/29-20:44:00 Starman::Server (type Net::Server::PreFork) starting! pid(17383)
Resolved [*]:8080 to [0.0.0.0]:8080, IPv4
Binding to TCP port 8080 on host 0.0.0.0 with IPv4
Setting gid to "100 100 1 17 27 67 100 131"
cat /etc/nixos/nixkeys/key.public 
my-nix-cache:z3o8Kf/PTzehVpMsE2KoYyf5rkU/XCR0+AfEvtKSgo8=

答え1

私はすぐに気づきました:

my-nix-cache:z3o8Kf/PTzehVpMsE2KoYyf5rkU/XCR0+AfEvtKSgo8=文字列が公開鍵のものと一致しません。

my-nix-cache:aDrIoY93RjzjnMmNYXlKSL3OerPqIGEiqv70CzwWzQvPejwp/89PN6FWkywTYqhjJ/muRT9cJHT4B8S+0pKCjw=

...修正後はうまくいきました:)

公開鍵の代わりに秘密鍵をコピーしました!

関連情報