wget
http URL에서 명령을 실행하려고 하면 다음 오류 메시지가 나타납니다.
ERROR: The certificate of `url' is not trusted.
ERROR: The certificate of `url' hasn't got a known issuer.
답변1
Debian 또는 Ubuntu를 사용하는 경우 다음 ca-certificates
패키지를 설치하십시오.
$ sudo apt-get install ca-certificates
인증서의 유효성 확인에 관심이 없다면 다음 --no-check-certificate
옵션을 사용하십시오.
$ wget --no-check-certificate https://download/url
참고: 두 번째 옵션은 중간자 공격 가능성 때문에 권장되지 않습니다.
답변2
wget의 경우 각 TFM은 다음을 사용합니다.
--no-check-certificate
옵션.
"사용 가능한 인증 기관에 대해 서버 인증서를 확인하지 마십시오. URL 호스트 이름이 인증서에서 제공하는 일반 이름과 일치할 필요도 없습니다."
답변3
제 경우에는 시스템 날짜가 정확하지 않고 pip 실행 시 인증서 유효 날짜 범위를 벗어난 것이 근본 원인이었습니다. 이는 pip 자체가 아니라 SSL 라이브러리와 관련이 있습니다. 따라서 문제의 URL에 대한 간단한 wget 또는 컬 호출로 문제가 재현됩니다.
물론 wget 및 pip의 --no-check--certificate(또는 이와 동등한 인증서)를 사용하여 문제를 신속하게 해결할 수도 있었습니다.
이는 SBC(예: RasberryPi/BeagleBone) 또는 실시간 시계(RTC)가 기본적으로 제공되지 않는 기타 시스템을 사용할 때 일반적인 상황일 수 있습니다. 그래서 배운 교훈은 시스템 시간을 최신 상태로 유지하기 위해 가능할 때마다 NTP를 사용한다는 것입니다.