Vagrantで自己署名LXDデーモンTLS証明書を信頼する方法は?

Vagrantで自己署名LXDデーモンTLS証明書を信頼する方法は?

次からフォロー別の問題LXDデーモンが実行され動作しています。

$ curl --insecure https://127.0.0.1:8443
{"type":"sync","status":"Success","status_code":200,"operation":"","error_code":0,"error":"","metadata":["/1.0"]}

ただし、LXDプロバイダーを使用してVagrantコンテナを起動しようとすると、証明書は気に入らません。

$ vagrant up
The provider could not authenticate to the LXD daemon at https://127.0.0.1:8443.

You may need configure LXD to allow requests from this machine. The
easiest way to do this is to add your LXC client certificate to LXD's
list of trusted certificates. This can typically be done with the
following command:

    $ lxc config trust add /home/username/.config/lxc/client.crt

You can find more information about configuring LXD at:

    https://linuxcontainers.org/lxd/getting-started-cli/#initial-configuration

私のシステムにはclient.crtがありません。lsof -p [PID of the program serving at port 8443]登録された証明書がありません。sudo locate .crt | grep lxdすぐに見つけ/var/lib/lxd/server.crtましたがlxc config trust add /var/lib/lxd/server.crt役に立ちませんでした。これ構成文書証明書を信頼する必要はありません。デーモンと通信するには、HTTPSの代わりにUnixソケットを使用する必要があると思います。どうやって前進できますか?

たとえば、コンテナを起動し、lxc launch ubuntu:18.10 testを使用してシェルをインポートすることlxc exec test -- /bin/bashができるため、LXC は正常に動作します。

答え1

私は間違った方向に行っていた。良い新しい証明書を作成して信頼してください。働く:

openssl req -x509 -newkey rsa:2048 -keyout ~/.config/lxc/client.key -nodes -out ~/.config/lxc/client.crt -subj "/CN=lxd.local"
lxc config trust add ~/.config/lxc/client.crt

答え2

client.crtを取得するために使用されます。

あなたは走る

openssl s_client -connect 127.0.0.1:8443

と除外の間に提供する最初の証明書をコピーして貼り付けます。

-----BEGIN CERTIFICATE-----

そして

-----END CERTIFICATE-----

ワイヤー。

関連情報