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-----

철사.

관련 정보