저는 RedHat 5.2를 사용하고 있으며 Github에서 저장소를 복제해야 합니다. 안타깝게도 올해 2월 1일부터 TLSv1 및 TLSv1.1이 비활성화되었습니다.
불행하게도 Red Hat 5는 TLSv1.2의 포인트 릴리스를 지원하지 않습니다. Red Hat 5 사용자는 최신 버전의 운영 체제로 업그레이드하는 것이 좋습니다.
소스 코드를 가져와 OpenSSL 1.0.2a 19 Mar 2015
빌드한 다음 curl-7.58.0
최신 OpenSSL을 사용하여 컴파일할 수 있었습니다. 또한 최신 OpenSSL과 컬을 사용하여 최신 git을 컴파일했습니다.
$ curl --version
curl 7.58.0 (i686-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.0.2a zlib/1.2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy
$git --version
git version 2.16.2
curl
Github 에서 할 수 있어요
# curl -Ivvv -k https://github.com
* Rebuilt URL to: https://github.com/
* Trying 192.30.253.113...
* TCP_NODELAY set
* Connected to github.com (192.30.253.113) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: businessCategory=Private Organization; jurisdictionC=US; jurisdictionST=Delaware; serialNumber=5157550; street=88 Colin P Kelly, Jr Street; postalCode=94107; C=US; ST=California; L=San Francisco; O=GitHub, Inc.; CN=github.com
* start date: Mar 10 00:00:00 2016 GMT
* expire date: May 17 12:00:00 2018 GMT
* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 Extended Validation Server CA
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
하지만 복제할 수는 없습니다.
$ env GIT_TRACE=2 git clone --verbose https://github.com/torvalds/linux.git
12:02:58.696627 git.c:344 trace: built-in: git 'clone' '--verbose' 'https://github.com/torvalds/linux.git'
Cloning into 'linux'...
12:02:58.697620 run-command.c:627 trace: run_command: 'git-remote-https' 'origin' 'https://github.com/torvalds/linux.git'
또한 새 저장소를 초기화하고 Github 링크를 소스로 설정해 보았지만 역시 작동하지 않았습니다.
어딘가에 설정이나 플래그가 없는 걸까요?
감사해요
답변1
RHEL 5에서는 Epel 5의 git-1.8.2.3-1.el5를 사용합니다.
# rpm -qi git
Name : git Relocations: (not relocatable)
Version : 1.8.2.3 Vendor: Fedora Project
Release : 1.el5 Build Date: Di 26 Apr 2016 19:30:16 CEST
OpenSSL 1이 필요한 것 같습니다.
# ldd /usr/bin/git-remote-https
libssl.so.10 => /lib/libssl.so.10 (0x00b2a000)
libcrypto.so.10 => /lib/libcrypto.so.10 (0x00595000)
내 시스템에서는 다음과 같이 해결되었습니다.
# rpm -qf /lib/libssl.so.10
openssl1-1.0.1e-57.el5_11
이것은 "tuxad repo"에서 가져온 것입니다: https://unix.stackexchange.com/a/459187/284960
github에서 복제하는 데 아무런 문제가 없습니다.