OpenSSH源码编译安装
Posted zjd1396
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenSSH源码编译安装相关的知识,希望对你有一定的参考价值。
一. 基础环境准备
操作系统:Ubuntu16.04Server
先sudo apt-get install vim openssh-server,便于后续上传源码以及调试。
看一下现在openssh的版本:
[email protected]:~$ ssh -V
OpenSSH_7.2p2 Ubuntu-4ubuntu2.6, OpenSSL 1.0.2g 1 Mar 2016
安装编译所需要的库:
[email protected]:~$ sudo apt-get install build-essential
二. 源码下载
从https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/下载最新的openssh-7.9p1.tar.gz;
从http://www.zlib.net/下载最新的zlib-1.2.11.tar.gz;
从https://www.openssl.org/source/下载最新的openssl-1.1.1a.tar.gz。
/home/zjd/下新建mySSH目录,然后将这三个压缩包上传上去后用tar分别解压:
[email protected]:~/mySSH$ tar -zxvf zlib-1.2.11.tar.gz
。。。
[email protected]:~/mySSH$ ll
total 10312
drwxrwxrwx 5 root root 4096 Dec 17 16:41 ./
drwxr-xr-x 4 root root 4096 Dec 17 16:27 ../
drwxr-xr-x 5 zjd zjd 12288 Oct 18 18:06 openssh-7.9p1/
-rw-rw-r-- 1 zjd zjd 1565384 Dec 17 16:39 openssh-7.9p1.tar.gz
drwxr-xr-x 19 zjd zjd 4096 Nov 20 05:35 openssl-1.1.1a/
-rw-rw-r-- 1 zjd zjd 8350547 Dec 17 16:39 openssl-1.1.1a.tar.gz
drwxr-xr-x 14 zjd zjd 4096 Jan 15 2017 zlib-1.2.11/
-rw-rw-r-- 1 zjd zjd 607698 Dec 17 16:39 zlib-1.2.11.tar.gz
三. 编译安装
1. zlib
进文件夹后直接配置编译安装:
[email protected]:~/mySSH/zlib-1.2.11$ ./configure --prefix=/usr/local
[email protected]:~/mySSH/zlib-1.2.11$ make
[email protected]:~/mySSH/zlib-1.2.11$ sudo make install
2. openssl
注意要先卸载旧版本:
[email protected]: ~/mySSH/openssl-1.1.1a$ sudo apt-get purge openssl
删除旧配置文件:
[email protected]: ~/mySSH/openssl-1.1.1a$ rm -rf /etc/ssl
然后配置编译安装新版本:
[email protected]: ~/mySSH/openssl-1.1.1a$ ./config --prefix=/usr/local --openssldir=/usr/local/ssl
[email protected]: ~/mySSH/openssl-1.1.1a$ make
[email protected]: ~/mySSH/openssl-1.1.1a$ sudo make install
[email protected]: ~/mySSH/openssl-1.1.1a$ ./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
[email protected]: ~/mySSH/openssl-1.1.1a$ make clean
[email protected]: ~/mySSH/openssl-1.1.1a$ make
[email protected]: ~/mySSH/openssl-1.1.1a$ sudo make install
其中:prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。
最后,因为是非root用户安装,因此需要增加两条软连接:
[email protected]:~/mySSH/openssl-1.1.1a$ sudo ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
[email protected]:~/mySSH/openssl-1.1.1a$ sudo ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
OK,现在看一下openssl的版本:
[email protected]:~/mySSH/openssl-1.1.1a$ openssl version
OpenSSL 1.1.1a 20 Nov 2018
3. openssh
[email protected]:~/mySSH/openssh-7.9p1$ ./configure -prefix=/usr/local -sysconfdir=/etc/ssh -with-ssl-dir=/usr/local/ssl
[email protected]:~/mySSH/openssh-7.9p1$ make
[email protected]:~/mySSH/openssh-7.9p1$ sudo make install
安装完重启服务:
[email protected]:~/mySSH/openssh-7.9p1$ sudo systemctl restart sshd.service
现在再看一下ssh的版本:
[email protected]:~/mySSH/openssh-7.9p1$ ssh -V
OpenSSH_7.9p1, OpenSSL 1.1.1a 20 Nov 2018
以上是关于OpenSSH源码编译安装的主要内容,如果未能解决你的问题,请参考以下文章