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源码编译安装的主要内容,如果未能解决你的问题,请参考以下文章

OpenSSH源码编译安装

基于源码编译安装openssh

OpenSSH 怎么安装啊

openssh版本怎么升级至openssh 7.4

移植Openssh到开发板

由于未找到 OpenSSL 库,无法编译 openssh