직장에 Arch Linux VM이 설정되어 있고 회사에서는 자체 서명된 인증서가 있는 투명(통과) 프록시를 사용하며 인증이 필요합니다. 설치를 시도하는 것과 같은 패키지를 통해 패키지를 설치하려고 할 때마다 pacman
다음 오류가 발생합니다.lynx
오류: Mirrors.kernel.org에서 "lynx-2.8.7-6-x86_64.pkg.tar.xz" 파일 검색 실패: SSL 인증서 문제: 인증서 체인의 자체 서명 인증서
에서 정의한 모든 이미지에 대해 이 오류가 발생합니다 /etc/pacman.d/mirrorlist
. 다른 HTTP/S 클라이언트(예를 들어)를 사용하려고 할 때 비슷한 문제가 있지만 curl
FTP에는 아무런 문제가 없습니다(주로 우리 회사에서는 포트 80과 443만 모니터링하기 때문입니다).
내가 시도한 것은 ...
- 회사의 자체 서명된 CA 인증서를 에
/usr/share/ca-certificates
넣고/etc/ca-certificates
- 내 자격 증명으로 설정
http_proxy
하고https_proxy
회사의 프록시 서버를 가리킵니다. - 프록시 서버를 관리하는 사람과 이야기를 나눴지만 그는 Linux에 대해 아무것도 모르기 때문에 어디서부터 시작해야 할지 모릅니다.
현재 저는 무언가를 설치하거나 인터넷에 접속해야 할 때 이 문제를 해결하기 위해 홈 서버에 대한 SSH 터널을 엽니다.
아래는 출력입니다openssl s_client -CApath /etc/ca-certificates -showcerts -connect mirrors.kernel.org:443
연결됨(00000003) 깊이 = 0 C = 미국, ST = 캘리포니아, L = 산호세, O = Linux 커널 조직, CN = *.kernel.org 유효성 검사 오류: num=20: 로컬 발급자 인증서를 얻을 수 없습니다. 검증 반환: 1 깊이 = 0 C = 미국, ST = 캘리포니아, L = 산호세, O = Linux 커널 조직, CN = *.kernel.org 유효성 검사 오류: num=27: 인증서를 신뢰할 수 없습니다. 검증 반환: 1 깊이 = 0 C = 미국, ST = 캘리포니아, L = 산호세, O = Linux 커널 조직, CN = *.kernel.org 유효성 검사 오류: num=21: 첫 번째 인증서를 확인할 수 없습니다. 검증 반환: 1 --- 인증서 체인 0 초:/C=US/ST=California/L=San Jose/O=Linux 커널 조직/CN=*.kernel.org i:/C=US/ST=MyCompanyState/L=MyCompanyCity/O=MyCompanyName/OU=IT/CN=MyCompanyProxyServer/[이메일 보호됨] -----인증서 시작---- ...ㅋㅋㅋㅋㅋㅋㅋ -----인증서 끝---- --- 서버 인증서 제목=/C=US/ST=캘리포니아/L=산호세/O=Linux 커널 조직/CN=*.kernel.org 발급자=/C=US/ST=MyCompanyState/L=MyCompanyCity/O=MyCompanyName/OU=IT/CN=MyCompanyProxyServer/[이메일 보호됨] --- 클라이언트 인증서 CA 이름이 전송되지 않았습니다. ---
노트간단히 FTP 미러링을 사용해 볼 수도 있겠지만 다른 HTTP/S 애플리케이션(예: )의 문제는 실제로 해결되지 않습니다 curl
.
답변1
제공하신 정보에 따르면 서버 인증서를 /etc/ca-certificates
파일에 추가한 것으로 보입니다. CA 인증서를 추가해야 합니다.
실행하는 명령에는 openssl s_client -showcerts
첫 번째 인증서 뒤에 하나 이상의 추가 인증서가 포함되어야 합니다. 이들은 당신이 관심을 갖고 있는 사람들입니다.
첫 번째 인증서 이후에 여러 인증서가 있는 경우 두 인증서를 모두 파일에 추가해야 할 수도 있습니다 ca-certificates
. 이는 모두 프록시에 인증 기관이 설정되는 방식에 따라 다릅니다. 그러나 둘 중 어느 것도 필요하지 않고 어쨌든 둘 다 추가하면 아무런 해가 없습니다.
그러나 openssl s_client -showcerts
첫 번째 인증서 외에 인증서가 표시되지 않으면 문제가 발생합니다. 이는 프록시가 서명 인증서를 보내지 않았음을 의미합니다. 네트워크 팀에 연락하여 문의해 보세요. 보안 관점에서 볼 때, 그들이 귀하에게 이를 제공하지 않을 이유가 전혀 없습니다(이는열쇠보호해야 합니다.)
예를 들어 다음과 같은 결과를 얻습니다(예, SSL 프록시 뒤에 있지 않기 때문에 실제 인증서를 얻지만 개념은 그대로 유지됩니다).
# openssl s_client -showcerts -connectmirrors.kernel.org:443 연결됨(00000003) 깊이=2 C=US, O="thawte, Inc.", OU=인증 서비스, OU="(c) 2006 thawte, Inc. - 허가된 사용 전용", CN=thawte 기본 루트 CA 유효성 검사 오류: num=20: 로컬 발급자 인증서를 얻을 수 없습니다. 검증 반환: 0 --- 인증서 체인 0 초:/C=US/ST=California/L=San Jose/O=Linux 커널 조직/CN=*.kernel.org i:/C=US/O=Thawte, Inc./CN=Thawte SSL CA -----인증서 시작---- MIID2zCCAsOgAwIBAgIQZ7xPhWo7v0ZlPnI5mJWMazANBgkqhkiG9w0BAQUFADA8 MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMuMRYwFAYDVQQDEw1U aGF3dGUGU1NMIENBMB4XDTEyMDEwMzAwMDAwMFOXDTE0MDQwMzIzNTk1OVowdDEL MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcuCFNhbiBK b3NLMSYwJAYDVQQKFB1UaGUgTGludXggS2VybmVsIE9yZ2FuaXphdGlvbjEVMBMG A1UEAxQMKi5rZXJuZWwub3JnMIIBijANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEApSbajGUzM+C1Oz6CzyPmek9HH03ToicZeHxOlBfS7yyvIyybxTCBrmkItyc+ sf6b5g2Zf8IPwloaj+ACQaLfm0OOaFrvHERIN1t0pitvmeSDI6BXVYq0eSLEPpSG YC/3AMdKE21NO1jmL7mtsCB8CW4NAAvy97HkvsPsTPNOp6d/LtcIMYRS347RFgRj O/J1PU05EEjcpXdy6eCyJLwi2AFLgfBzjS+0UK4tq01HFalULfO/akjC59WG+qrc P/Yi/1TM8bE2mun1mcuCP7bmyZFDfrGnO2TYcZ/s7z4bTUmEixR6kTdj1foqi7Xk svko9dXCiUZj4c692ZKZXE+gJwIDAQABo4GgMIGdMAwGA1UdEweb/wQCMAAwOgYD VR0fBDMwMTAvoC2gK4YpaHR0cDovL3N2ci1vdi1jcmwudGhhd3RlLmNvbS9UaGF3 dGVPVi5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMDIGCCsGAQUF BwEBBCYwJDAiBggrBgEFBQcwaAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTANBgkq HKIG9w0BAQUFAAOCAQEAd7mKHpW1mCB1fGuvR44iX83PmSy3BVEpvOlnH1zNSU/Y 2zMmKDbXqAJTY6t20Yq/GpjW3BA2G4xEA6i64WAGZcSmXfc/NDOSh0i5lTrCofCG 3tuts9HTmHJLfeAz9cZiT4rc4ROMV4K17/Uw81UIid952M/4b6OvhaCu5OSnvDUI 3Z6OUy+AuJHbwEyB5bGOJ/mqVKUztgUK17bJiwDhwZ4Q8PT6YKUj5NgPcG6cUKxY HK6yxvoqH/s1DQJB3JHDSFVgY47ECmoHyQ5MvJN+naNrZJUIH0RTmmHNbQH772W7 m8I66jiDhXTd6+4v8DipvHJOSEv7ebG0Jf6gv7lc6w== -----인증서 끝---- 1초:/C=US/O=Thawte, Inc./CN=Thawte SSL CA i:/C=US/O=thawte, Inc./OU=인증 서비스 부서/OU=(c) 2006 thawte, Inc. - 승인된 용도로만 사용/CN=thawte 기본 루트 CA -----인증서 시작---- MIIEbDCCA1SgAwiBAgIQTV8sNAiyTCDNbVB+JE3J7DANBgkqhkiG9w0BAQUFADCB qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMPIDIw MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTAwMjA4MDAwMDAwWhcNMjAw MjA3MjM1OTU5WjA8MQswCQYDVQQGEwJVUzeEVMBMGA1UEChMMVGhhd3RlLCBJbmMu MRYwFAYDVQQDEw1UaGF3dGUgU1NMIENBMIIBIJANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAmeSFW3ZJfS8F2MWsyMip09yY5tc0pi8M8iIm2KPJFEyPBaRF6BQM WJAFGrfFwQalgK+7HulrUjSIw1nn72vEJ0GMK2Yd0OCjl5gZNEtB1ZjVxwWtouTX 7QytT8G1sCH9PlBTssSQ0NQwZ2ya8Q50xMLciuiX/8mSrgGKVgqYMrAAI+yQGmDD 7bs6yw9jnw1EyVLhJZa/7VCViX9WFLG3YR0cB4w6LPf/gN45RdWvGtF42MdxaqMZ pzJQIenyDqHGEwNESNFmqFJX1xG0k4vlmZ9d53hR5U32t1m0drUJN00GOBN6HAiY XMRISstSoKn4sZ2Oe3mwIC88lqgRYke7EQIDAQABo4H7MIH4MDIGCCsGAQUFBweb BCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTASBgNVHRMB Af8ECDAGAQH/AgEAMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudGhhd3Rl LmNvbS9UaGF3dGVQQ0EuY3JsMA4GA1UDDweb/wQEAwIBBjAoBgNVHREEITAfpB0w GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItOTAdBgNVHQ4EFgQUp6KDuzRFQD38 1TBPERk+oQGf9tswHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutXSFAwDQYJ KoZIhvcNAQEFBQADggEBAIIGOBsyJUW11cmh/NyNNvGclYnPtOW9i4lkaU+M5en S+UV+yV9Lwdh+m+DdExMU3IgpHrPUVFWgYiwbR82LMgrsYiZwf5Eq0hRfNjyRGQq 2HGn+xov+RmNNLIjv8RMVR2OROiqXZrdn/0Dx7okQ40tR0Tb9tiYyLL52u/tKVxp EvrRI5YPv5wN8nlFUzeaVi/oVxBw9u6JDEmJmsEj9cIqzEHPIqtlbreUgm0vQF9Y 3uuVK6ZyaFIZkSqudZ1OkubK3lTqGKslPOZkpnkfJn1h7X3S5XFV2JMXfBQ4MDzf huNMrUnjl1nOG5srztxl1Asoa06ERlFE9zMILViXIa4= -----인증서 끝---- 2초:/C=US/O=thawte, Inc./OU=인증 서비스 부서/OU=(c) 2006 thawte, Inc. - 승인된 사용 전용/CN=thawte 기본 루트 CA i:/C=ZA/ST=웨스턴 케이프/L=케이프 타운/O=Thawte 컨설팅 cc/OU=인증 서비스/CN=Thawte Premium Server CA/[이메일 보호됨] -----인증서 시작---- MIIERTCCA66gAwiBAgIQM2VQCHmtc+IwueAdDX+skTANBgkqhkiG9w0BAQUFADCB zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUGQ29uc3VsdGluZyBjYzEoMCYGA1UE CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl cnZlckB0aGF3dGUuY29tMB4XDTA2MTExNzAwMDAwMFOXDTIwMTIzMDIzNTk1OVow gakxCzAJBgNVBAYTALVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAST H0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAy MDA2IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYD VQQDExZ0aGF3dGUgUHJpbWFyeSBSb290IENBMIIBIJANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEArKDw+4BZ1JzHpM+doVlzCRBFDA0sbmjxbFtIaElZN/wLMxnC d3/MEC2VNBzm600JpxzSuMmXNgK3idQkXwbAzESULI0CYm/rWT0RjSiaXISQEHON vXRmL2o4oOLVVETrHQefB7pv7un9Tgsp9T6EoAHxnKv4HH6JpOih2HFlDaNRe+68 0iJgDblbnd+6/FFbC6+Ysuku6QToYofeK8jXTsFMZB7dz4dYukpPymgHHRydSsbV L5HMfHFyHMXAZ+sy/cmSXJTahcCbv1N9Kwn0jJ2RH5dqUsveCTakd9h7h1BE1T5u KWn7OUkmHgmlgHtalevoJ4XJ/mH9fuZ8lx3VnQIDAQABo4HCMIG/MA8GA1UdEweb /wQFMAMBAf8wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBz Oi8vd3d3LnRoYXd0ZS5jb20vY3BzMA4GA1UdDweb/wQEAwiBBjAdBgNVHQ4EFgQU e1tFz6/Oy3r9MZIaarbzRutXSFAwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cDovL2Ny BC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1TZXJ2ZXJDQS5jcmwwDQYJKoZIhvcN AQEFBQADgYEAhKhMyT4qvJrizI8LsiV3xGGJiWNa1KMVQNT7Xj+0Q+pjFytrmXSe Cajd1FYVLnp5MV9jllMbNNkV6k9tcMq+9oKp7dqFd8x2HGqBCiHYQZl/Xi6Cweiq 95OBBaqStB+3msAHF/XLxrRMDtdW3HEgdDjWdMbWj2uvi42gbCkLYeA= -----인증서 끝---- --- 서버 인증서 제목=/C=US/ST=캘리포니아/L=산호세/O=Linux 커널 조직/CN=*.kernel.org 발급자=/C=US/O=Thawte, Inc./CN=Thawte SSL CA --- 클라이언트 인증서 CA 이름이 전송되지 않았습니다. --- SSL 핸드셰이크는 3566바이트를 읽고 636바이트를 썼습니다. --- 새로운 기능인 TLSv1/SSLv3, 암호는 RC4-SHA입니다. 서버 공개 키는 2048비트입니다. 안전한 재협상 지원 압축: 없음 확장: 없음 SSL 세션: 프로토콜: TLSv1 비밀번호: RC4-SHA 세션 ID: EAB5C93513AA8829036C7BB9E3F74D99076C8A339EB220832F76DF73D52D0B22 세션 ID-ctx: 마스터 키: 0A599E2D1CCAA8249E50871FDF03A2137BA034BCB20FA691D1413822BE08E15303CB0F59CDEC0376D670E08632EF0D46 주요 매개변수: 없음 PSK ID: 없음 PSK 신원 알림: 없음 SRP 사용자 이름: 없음 TLS 세션 티켓: 0000 - ac 28 d2 81 da 5e b9 7f-43 52 ab e8 2c b0 ac 1d .(...^..CR..,... 0010 - c0 27 92 cb 5e 0e 1e 36-e4 77 34 bf 34 f8 cb 2f .'..^..6.w4.4../ 0020 - 04 af 1a 9b ea b3 9e 6f-32 44 4b ce d1 b4 2b 42 .......o2DK...+B 0030 - 55 a8 e3 ec 9a 6a 76 5d-c0 84 e0 aa 20 29 ae ac U....jv].... ).. 0040 - 7d 45 2b 3b 56 3c 2e 4b-d3 69 60 c8 fb 67 36 07 }E+;V...;.]p..... 00a0 - de 09 7d bf 3f b9 2c 9c-af 5d b1 af b2 9b bc 7a ..}.?.,..].....z 00b0 - 5e b3 92 26 02 3a 0e 47-c9 4b 10 6c 5b f4 2f c3 ^..&.:.GKl[./. 시작 시간: 1380663897 시간 초과: 300(초) 확인 반환 코드: 20(로컬 발급자 인증서를 얻을 수 없음) ---
인증서 2(마지막 인증서)를 추가하겠습니다. 인증서 1은 체인 인증서이고 인증서 2에 의해 체인 인증서로 인증되므로 인증서가 필요하지 않습니다. 하지만 인증서 1을 추가해도 괜찮습니다.
답변2
누군가에게 도움이된다면 비슷한 문제가 있었지만 해결책이 약간 달랐습니다. 내 회사 프록시는 중간 자체 서명 인증서를 사용합니다. 이는 내 가상 머신의 명령줄 프로그램뿐만 아니라 브라우저에서도 분명하게 나타납니다. 브라우저에서 외부 사이트(Chromiumim)로 이동하면 해당 사이트가 중간 자체 서명 인증서를 사용하고 있기 때문에 신뢰할 수 없다는 메시지가 표시됩니다. URL 표시줄의 자물쇠 아이콘 영역을 클릭하면 중간 인증서를 다운로드할 수 있습니다. 그런 다음 아래 지침을 따랐습니다. 수정 사항은 명령줄 프로그램과 브라우저 모두에 전역적으로 적용됩니다.
https://wiki.archlinux.org/title/User:Grawity/Adding_a_trusted_CA_certificate