次からフォロー別の問題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-----
ワイヤー。