编译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.rpm rpm -ivh libressl- 3.6 . 1 - 1 .x86_64.rpm --force rpm -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.d install -d -m 755 /usr/lib/systemd/system install -m 644 blfs/units/sshd.service /usr/lib/systemd/system/ install -m 644 blfs/units/sshdat.service /usr/lib/systemd/system/sshd@.service install -m 644 blfs/units/sshd.socket /usr/lib/systemd/system/ test -n "" || systemctl enable sshd.service |
编译rpm时可以去掉红圈部分来替换config文件(新版不支持旧版的3个常用参数)