openssl에서 인증서를 찾지 못했습니다.

openssl에서 인증서를 찾지 못했습니다.

git 또는 컬을 사용할 때 인증서와 관련된 오류가 발생할 수 있습니다.

자식 사용:

> git clone https://github.com/vim/vim.git
Cloning into 'vim'...
fatal: unable to access 'https://github.com/vim/vim.git/': error:140943E8:SSL routines:ssl3_read_bytes:reason(1000)

컬이 있다

> curl -v https://github.com
*   Trying 2001:8002:e42:f002::f5ff:443...
* TCP_NODELAY set
* Connected to github.com (2001:8002:e42:f002::f5ff) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS alert, close notify (512):
* error:140943E8:SSL routines:ssl3_read_bytes:reason(1000)
* Closing connection 0
curl: (35) error:140943E8:SSL routines:ssl3_read_bytes:reason(1000)

openssl에 무슨 일이 일어나고 있는지 보려고 해도 인증서를 찾을 수 없는 것 같습니다.

> openssl s_client -ciphersuites TLS_AES_128_GCM_SHA256 -connect github.com:443
CONNECTED(00000003)
139703172380480:error:140943E8:SSL routines:ssl3_read_bytes:reason(1000):ssl/record/rec_layer_s3.c:1543:SSL alert number 0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 316 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

다른 컴퓨터에서 openssl 명령(위)을 실행하면 인증서에 대한 많은 정보가 반환됩니다.

이 문제를 진단/해결하려면 어떻게 해야 합니까?

저는 페도라 31을 사용하고 있습니다

편집: "nmcli con show"의 출력 일부는 다음과 같습니다.

ipv6.method:                            auto
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      0
ipv6.addresses:                         --
ipv6.gateway:                           --
ipv6.routes:                            --
ipv6.route-metric:                      -1
ipv6.route-table:                       0 (unspec)
ipv6.routing-rules:                     --
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.dhcp-duid:                         --
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --
ipv6.token:                             --

답변1

분명히 IPv6 구성을 올바르게 설정하지 않았습니다. 해결 방법(수정은 아니지만 복잡하거나 불가능할 수 있음)으로 시스템에서 IPv6을 완전히 비활성화하고 명령을 다시 시도하십시오 git.

다음을 입력하여(루트로) IPv6를 비활성화합니다.

echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6

이는 다음 재부팅까지 적용됩니다. 컴퓨터에서 IPv6를 영구적으로 비활성화하려면(물론 취소할 때까지) 구성 파일을 변경해야 합니다. 불행하게도 이것이 수행되는 방식은 주로 시스템에 따라 다릅니다. Fedora에서는 이더넷 네트워크에 있고 /etc/sysconfig/network-scripts이더넷 네트워크 이름을 가진 네트워크 구성 파일을 편집하여 수행할 수 있습니다. 이 파일은 아마도 ifcfg-enp4s2귀하의 네트워크(참고자료 참조 ip a)라고 불리는 것과 유사할 것입니다 enp4s2. 추가(또는 존재하는 경우 편집)하십시오. 그리고 =yes) 라인

IPV6INIT=no

이는 다음에 네트워크 서비스를 다시 시작(또는 재부팅)할 때 적용됩니다.

시스템에서 작동하거나 작동하지 않을 수 있는 또 다른 방법은 파일을 찾아서 /etc/sysctl.conf다음 줄을 추가하는 것입니다(또는 있는 경우 이를 조정하는 것입니다).

net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.disable_ipv6 = 1

그리고 우리에게 알려주세요.

전체 공개: IPv6을 비활성화하는 줄은 다음에서 복사됩니다.사용자 정의 내장 내장 설정에서 IPv6을 비활성화하는 방법.

관련 정보