编译libressl3.6.1和对应的openssh9.2p1
近年漏洞数对比
|
年度
|
OpenSSL
|
LibreSSL
|
Tink
|
|---|---|---|---|
| 2022 | 13 | 0 | 0 |
| 2021 | 8 | 1 | 0 |
| 2020 | 3 | 2 | 1 |
| 合计 | 24 | 3 | 1 |
Libressl:自2014年起共7个缺陷 https://www.cvedetails.com/cvss-score-charts.php?fromform=1&vendor_id=&product_id=30688&startdate=2014-01-01&enddate=2022-12-29
openssl:自2014年起共143个缺陷 https://www.cvedetails.com/cvss-score-charts.php?fromform=1&vendor_id=217&product_id=&startdate=2014-01-01&enddate=2022-12-29
参考:安装OpenSsh8.1+LibreSSL 3.0.2(ssh升级) 、OpenSSH-9.2p1 (linuxfromscratch.org)
rpm包
libressl:libressl3.6.1的rpm包-Linux文档类资源-CSDN文库
openssh:
基于libressl编译openssh9.1p1的rpm包-Linux文档类资源-CSDN文库
基于libressl编译openssh9.2p1的rpm包-Linux文档类资源-CSDN文库(新)
编译安装
软件版本
| 软件 | 版本 | 下载地址 |
| openssh | 9.2p1 | https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz |
| zlib | 1.2.12 | https://zlib.net/zlib-1.2.13.tar.gz |
| libressl | 3.6.1 | https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.6.1.tar.gz |
安装zlib
|
tar zxvf zlib-1.2.13.tar.gz |
安装libressl
|
tar zxvf libressl-3.6.1.tar.gz make && make install |
如图,libressl库可以被系统找到
编译openssh
|
tar zxvf openssh-9.2p1.tar.gz |
编译置成功如图:
成功后,测试如下:
如图,使用libressl编译的openssh已经安装成功。
根据实际需求修改
Port 8022
PermitRootLogin yes
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
如图:
修改权限为0600
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ed25519_key
rpm安装(以OpenEuler22.03为例)
需按照以下顺序执行
卸载openssl
yum remove -y openresty-openssl111-asan openssl-debuginfo openssl-debugsource openssl openssl-devel |
无法卸载openssl-libs-1.1.1m-13.oe2203.x86_64,暂遗留
rpm安装libressl
最新版本3.7.0,最新稳定版本3.6.1
rpm -ivh *.rpm --force或者rpm -ivh libcrypto45-3.6.1-1.x86_64.rpm libssl47-3.6.1-1.x86_64.rpm libtls19-3.6.1-1.x86_64.rpmrpm -ivh libressl-3.6.1-1.x86_64.rpm --forcerpm -ivh libressl-devel-3.6.1-1.x86_64.rpm |
rpm安装openssh9.2p1(截图为9.1p1)
注意:9.2版openssh不支持很多旧的sshd_config参数,比如UsePAM,rpm包不能强制覆盖配置文件,所以先备份配置
rpm -Uvh *.rpm |
重启sshd
追求完美的,可以更新一下系统服务文件
下载:BLFS 系统单元 (linuxfromscratch.org)
解压后执行命令替换文件
install -d -m 755 /usr/lib/tmpfiles.dinstall -d -m 755 /usr/lib/systemd/systeminstall -m 644 blfs/units/sshd.service /usr/lib/systemd/system/install -m 644 blfs/units/sshdat.service /usr/lib/systemd/system/sshd@.serviceinstall -m 644 blfs/units/sshd.socket /usr/lib/systemd/system/test -n "" || systemctl enable sshd.service |
编译rpm时可以去掉红圈部分来替换config文件(新版不支持旧版的3个常用参数)


