操作系統:fedora16
升級文件:openssh-7.5p1.tar.gz
1、升級openssl,因爲fedora16自帶的openssl爲1.0.0版本,openssh7.5需要版本號>1.0.0
注意:不要升級到最新的1.1版本,openssh7.5需要小於這個版本的openssl
版本要求可以查看openssh7.5
2、下載了openssl-1.0.1e.tar.gz版本
3、./config shared --prefix=/usr/local/openssl-1.0.1e
此處要編譯動態庫,使用shared參數
make -j4
make install
4、增加動態庫加載路徑
vi /etc/ld.so.conf.d/openssl-1.0.1e.conf
寫入內容/usr/local/openssl-1.0.1e/lib
5、執行ldconfig,使得路徑生效
6、開始升級openssh,./configure --prefix=/usr/local/openssh-7.5 --with-ssl-dir=/usr/local/openssl-1.0.1e
如果提示error: *** zlib.h missing - please install first or check config.log ***,就要按照zlib-devel
make -j4
make install
7、 將服務啓動/usr/sbin/sshd文件軟連接到新編譯的文件
cd /usr/sbin
mv sshd sshd.old
ln -s /usr/local/openssh-7.5/sbin/sshd sshd
8、重啓sshd服務
注意7.5默認是不允許root登錄的
如果要允許root登錄,重啓之前
vi/usr/local/openssh-7.5/etc/sshd_config
增加內容PermitRootLogin yes
然後重啓服務,service sshd restart
9、驗證sshd連接是否可用
後記:
本想把/usr/local/openssh-7.5和/usr/local/openssl-1.0.1e 兩個目錄打包好,直接放到另外的fedora16機器上使用,
設置了動態庫路徑和sshd軟連接之後,發現可以遠程連接,但是用sudo bash切換到root之後,發現很多命令居然執行無反應,
最後發現,只要把openssh已經編譯完成的源碼目錄整個拷貝過去,然後執行make install就可以,仔細研究了install執行的步驟,
也沒發現有什麼特殊的操作,很奇怪,一直沒找到爲什麼,如果有人找到原因,希望可以在評論裏面共享一下。
PS:我還在centos6.3上試過了,將編譯結果直接拷貝到另外一臺centos6.3機器上,就可以直接正常使用。