更新git 支持TLS1.2


2018年2月起,github 只支持TLS1.2版本,需要更新git.

由於linux yum 源版本比較久,通過源碼安裝。

遇到一些問題,先總結如下:

大部分系統上都默認安裝了 git ,openssl,openssh,curl等,但是版本較低。

更新git 支持tls1.2實際上就是更新openssl.

更新完成之后可以通過git config --list 判斷是否支持tls1.2

 

更新openssl之后導致低版本的openssh,curl不能使用,順便openssh,curl也源碼安轉了高版本。

 

安裝curl時遇到問題,

make[2]: Entering directory `/software/curl/curl-7.55.1/lib' CC vtls/libcurl_la-openssl.lo vtls/openssl.c: In function ‘Curl_ossl_seed’: vtls/openssl.c:276:5: error: implicit declaration of function ‘RAND_egd’ [-Werror=implicit-function-declaration] int ret = RAND_egd(data->set.str[STRING_SSL_EGDSOCKET]? ^ cc1: some warnings being treated as errors make[2]: *** [vtls/libcurl_la-openssl.lo] Error 1 make[2]: Leaving directory `/software/curl/curl-7.55.1/lib' make[1]: *** [all] Error 2 make[1]: Leaving directory `/software/curl/curl-7.55.1/lib' make: *** [all-recursive] Error 1

找到原因是本身系統自帶的openssl 和源碼安轉的openssl的配置不一致導致的。
將系統自帶的openssl 刪除了。編譯成功。


系統自帶的openssl被許多應用ldd,刪除時需要特別注意。

我就是傻乎乎的rpm -e openssl,刪除了,導致ssh不能使用。又重新安裝的openssh。

tcpdump 也依賴libcrypto.so.10,還好可以通過創建這個軟連接解決。

注意修改/etc/ld.so.conf中的加載庫目錄的優先級,修改完之后別忘了ldconfig.

假如這些方式都不行,只能更新安裝源碼了。 

目前看,受影響需要安裝源碼的就是openssh,curl。

注意:源碼安裝的時候,看一下./configure 配置時是否有-with-ssl選項,指向新版本安裝的配置,ssl默認安裝位置一般是/usr/local.

所以./configure -with-ssl=/usr/local

openssh 安裝之后,sshd服務的配置文件也需要修改。

vim /usr/local/etc/sshd_config 

PermitRootLogin yes            #修改這一行。

新安裝的路徑是/us/local/sbin/sshd,如果還想使用service sshd restart 命令,需要修改/etc/init.d/sshd腳本。

源目錄中 ,修改一下文件的路徑等,替換到/etc/init.d/sshd腳本。

修改基本就是以下幾處:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM