在Linux 上编译 openssh-portable

本文详细介绍了如何从源码编译OpenSSH,包括所需依赖zlib、openssl及Perl5的安装与配置步骤,适合希望深入了解OpenSSH内部工作原理或定制其功能的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

OpenSSH是用于安全远程登录、命令执行和文件传输的SSH协议(版本2)的完整实现。它包括一个客户机ssh和服务器sshd、文件传输工具scp和sftp,以及用于密钥生成(ssh-keygen)、运行时密钥存储(ssh-agent)和一些支持程序的工具。

获取源码:

https://github.com/openssh/openssh-portable

Github文档上描述openssh编译时,是使用autoconf和make构建的。它需要一个工作的C编译器、标准库和标头以及zlib。也可以使用LibreSSL或OpenSSL中的libcrypto,但是在构建OpenSSH时可能不支持加密算法的子集。

所以需要先下载并编译zlib和openssl.

编译zlib

$ ./configure --prefix=/usr/local/zlib &&make&&make install

编译openssl

$ ./config --prefix=/usr/local/openssl && make && make install

如果出现如下报错,则先安装Perl5

Operating system: x86_64-whatever-linux2
You need Perl 5.

安装Perl 5

1.下载:https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz

2.安装:

$ tar -xvzf perl-5.28.0.tar.gz
$ cd perl-5.28.0
$ ./Configure -des -Dprefix=$HOME/localperl

编译openssh

$ cd openssh-portable
$ autoreconf
$ ./configure --with-zlib=/usr/local/zlib --with-ssl-dir=/root/code/openssh/openssl-1.1.1a --with-md5-passwords --with-ssl-engine

注意:

1.如果没有autoconf,需要先安装autoconf,然后运行autoconf才会生成configure文件

$ sudo apt-get install autoconf
$ autoconf

# Centos 可能需要执行 
$ yum install automake
$ autoreconf

2. --with-ssl-dir要求使用 openssl 源码包解压的路径,而不是安装的路径,configure命令结果如下图所示

编译

# make && make tests

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值