Ubuntu20.04与22.04 openssl与openssl编译安装

这篇具有很好参考价值的文章主要介绍了Ubuntu20.04与22.04 openssl与openssl编译安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

openssl与openssh需要经常修复漏洞,编译安装步骤供参考,适用ubuntu版本,其他版本类似

安装编译依赖包

apt update
apt install gcc make  zlib1g-dev  libpam0g-dev libkrb5-dev libedit-dev -y

操作系统openssl版本查看:
推荐根据操作系统默认版本下载对应修复版本

ubuntu20.04 openssl版本:OpenSSL 1.1.1f
ubuntu22.04 openssl版本:OpenSSL 3.0.2

ubuntu 编译openssl,ubuntu,linux,ssl,sshubuntu 编译openssl,ubuntu,linux,ssl,ssh

安装 OpenSSL

首先,使用 wget 命令下载 OpenSSL 的源代码压缩包。从 OpenSSL 官方网站上找到最新版本的源代码。
ubuntu 编译openssl,ubuntu,linux,ssl,ssh

#ubuntu20.04
wget https://www.openssl.org/source/openssl-1.1.1v.tar.gz
#ubuntu22.04
wget https://www.openssl.org/source/openssl-3.0.10.tar.gz

如下以ubuntu20.04示例:

解压源代码
使用 tar 命令解压源代码压缩包。

tar -zxf openssl-1.1.1v.tar.gz

切换到解压后的源代码目录。

cd openssl-1.1.1v/

配置编译选项:
运行以下命令配置编译选项。(是否加shared 、zlib参数都可以进行后面的openssh安装)
将 OpenSSL 安装到 /usr/local/openssl 目录下,并设置 openssldir 为同样的路径。

./config shared --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

ubuntu 编译openssl,ubuntu,linux,ssl,ssh
编译和安装:

运行 make 命令进行编译,然后使用 make install 命令进行安装。请确保您具有足够的权限来执行此操作, make 可替换为 make -j4 并行处理(其中的数字 4 表示允许并行运行的任务数)

make && make install

ubuntu 编译openssl,ubuntu,linux,ssl,ssh

备份原来的openssl

mv /usr/bin/openssl /usr/bin/openssl.bak

创建软链接到系统位置

ln -s /usr/local/openssl/bin/openssl  /usr/bin/openssl

将openssl 的lib 库添加到系统(‘/usr/local/openssl/lib’ 单引号)

echo '/usr/local/openssl/lib' > /etc/ld.so.conf.d/openssl.conf
#openssl 3.x.x版本是: /usr/local/openssl/lib64/ 路径
#echo '/usr/local/openssl/lib64' > /etc/ld.so.conf.d/openssl.conf   

加载lib库 (可加 -v 参数查看详细显示)

ldconfig

看看openssl版本

openssl  version

ubuntu 编译openssl,ubuntu,linux,ssl,ssh

现在,您已经成功在 Ubuntu 20.04 上编译安装了 OpenSSL 1.1.1v。如果您在安装其他软件时需要使用 OpenSSL,请确保相应的软件能够找到新安装的 OpenSSL 路径。

openssh安装

注意: 操作前需备份好已安全加固的配置文件 (新环境可忽略)

若网络不稳定进行升级,建议临时安装telnetd服务,避免终端中断无法远程操作,由于telnet服务存在不安全因素,建议升级验证完后进行卸载 (apt install telnetd -y)

备份文件,防止现有配置丢失

cp -a /etc/pam.d/sshd  /mnt/sshd-bak-`date +%F`
cp -a /etc/ssh/sshd_config  /mnt/sshd_config-bak-`date +%F`

下载openssh
采用清华源国内镜像站下载,也可从openssh官网下载
ubuntu 编译openssl,ubuntu,linux,ssl,ssh

wget https://mirrors.tuna.tsinghua.edu.cn/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz

若下载认证提示未通过可添加--no-check-certificate 参数跳过认证

wget https://mirrors.tuna.tsinghua.edu.cn/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz --no-check-certificate

ubuntu 编译openssl,ubuntu,linux,ssl,ssh解压openssh

tar -zxf openssh-9.4p1.tar.gz

进入解压目录

cd openssh-9.4p1/

配置参数

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-kerberos5 --with-libedit --with-pam --with-gssapi --with-zlib --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd

编译与安装

make && make install

编辑配置文件
注释Type=notify参数或者修改为Type=simple

vim /lib/systemd/system/ssh.service  

ubuntu 编译openssl,ubuntu,linux,ssl,ssh
注释Type=参数快捷方式

sed -i '/^Type=/s/^/#/' /lib/systemd/system/ssh.service

重新加载配置并重启sshd生效

systemctl daemon-reload
systemctl restart sshd

查看openssh 版本

ssh -V

ubuntu 编译openssl,ubuntu,linux,ssl,ssh

openssh升级后root用户无法远程登录 (可选操作,根据实际环境要求选择是否开启)

编辑sshd_config配置文件PermitRootLogin参数为yes,保存并重启sshd

PermitRootLogin yes

隐藏版本号:
本地执行’ssh -V"任可见,根据实际版本号进行替换,x.x 可为任意字母或数字

根据ssh-V 和 strings /usr/sbin/sshd|grep ‘OpenSSH_’ 确定要修改的版本(ssh远程时版本号后一般不带字母)
ubuntu 编译openssl,ubuntu,linux,ssl,ssh
备份文件

cp -a /usr/sbin/sshd /usr/sbin/sshd-bak-`date +%F`

修改版本号

sed -i 's/OpenSSH_9.4/OpenSSH_x.x/g'  /usr/sbin/sshd

重启sshd服务

systemctl restart sshd

验证隐藏版本号
使用nmap工具进行验证或新建连接方式查看,版本号变为OpenSSH x.x (nmap安装:apt install nmap)

nmap -p 22 -sV -v -n  主机ip
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH x.x (protocol 2.0)

安全加固
修复diffie-hellman 漏洞,去掉diffie-hellman开头的参数
ubuntu 编译openssl,ubuntu,linux,ssl,sshsntrup761x25519-sha512@openssh.com 参数在openssh 8.5版本引入,9.0版本中默认添加

openssh升级后rke 启动集群报ssh认证错误:(非安全加固,统一添加sshd配置)

PubkeyAcceptedKeyTypes=+ssh-rsa

ubuntu 编译openssl,ubuntu,linux,ssl,ssh

sshd_config 配置最后添加

vim /etc/ssh/sshd_config
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
kexalgorithms sntrup761x25519-sha512@openssh.com,ecdh-sha2-nistp384,ecdh-sha2-nistp521
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
PubkeyAcceptedKeyTypes=+ssh-rsa

重启sshd

systemctl  restart sshd

FAQ:

openssl与openssh编译后是否可删除原系统默认安装的opensl与openssh

答:建议都保留

针对openssl
若狠心删除,openssl软链接的是原系统的openssl执行文件,删除原系统默认安装的opensl后会将openssl执行文件一并删除,从新创建一次软连接即可

apt remove openssl
ln -s /usr/local/openssl/bin/openssl  /usr/bin/openssl

针对openssh
openssh编译时已指定/etc/ssh路径,删除不仅把原系统安装的openssh卸载,编译安装的也会卸载,建议保留,若已删除,请从新按openssh编译安装执行

openssl有新版本怎么升级

答:下载新版本,解压并进入目录,再次运行编译与安装、加载lib库、查看版本号是否更新即可,无需其他操作

./config shared --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make && make install
ldconfig -v

若普通用户执行openssl version还是之前安装的版本,但是root用户显示却是已升级的版本

openssl安装目录权限添加普通用户可读设置(正常编译安装应该不存在需要再次设置权限问题)

find /usr/local/openssl/ -type d |xargs chmod  o+r

ssh.service配置文件注释Type=notify参数目的

答:编译安装完后,执行sshd重启systemctl restart sshd命令会一直等待最后超时,暂且注释Type=notify参数后不通知systemd管理,如有高人知晓还请不吝赐教,欢迎评论和联系文章来源地址https://www.toymoban.com/news/detail-735102.html

到了这里,关于Ubuntu20.04与22.04 openssl与openssl编译安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu官方安装微信——Ubuntu16.04/18.04/20.04/22.04

    通过以下教程可以快速的安装官方版微信,本教程适用于Ubuntu16.04/18.04/20.04/22.04 进入微信下载官网下载微信Linux客户端 点击64位下载即可,如果不能下载,使用终端如下命令 双击deb文件,点击install进行安装 安装成功,可以在菜单中点击运行

    2024年02月08日
    浏览(47)
  • Ubuntu安装向日葵远程控制——Ubuntu18.04/20.04/22.04

    通过以下教程可以快速的安装向日葵远程控制,本教程适用于Ubuntu18.04/20.04/22.04 进入向日葵远程控制下载官网下载向日葵远程控制Linux客户端 选择图形版本安装包下载,可以看到适用于17.04及以上版本 双击deb文件,点击install进行安装 安装成功,在菜单里可以打开

    2024年02月12日
    浏览(51)
  • 下载安装Ubuntu 20.04详细教程(内附安装22.04版本教程链接)

    🌈 个人主页:python老鸟的博客 🔆 免费专栏:Python基础教程 ❤️  分享网站: 《Python自学网》👉👉基础入门到逐步深入  |  适合新手入门到精通  | python全栈体系课程   🙏 如果觉得博主文章对你有所帮助的话,还望大家多多支持呀!关注  |  点赞  |  收藏  |  评论

    2024年01月21日
    浏览(72)
  • 【ubuntu环境配置】超详细ubuntu20.04/22.04安装nvidia驱动/CUDA/cudnn

    nvidia显卡驱动安装方式有三种:使用ubuntu附加驱动的方式;使用命令行方式安装;使用.run文件的方式进行安装, 点击菜单中的Additional Drivers选择适合的驱动版本进行安装,该方法最方便快捷(但有时会翻车) 更新所有的软件包 安装显卡驱动 详见我的另一篇博客Ubunut20.04/2

    2024年01月22日
    浏览(75)
  • 【安装教程】ubuntu20.04/22.04从零开始搭建autoware.universe

    目录 1. 基本配置情况 2. ROS2 Humble和git安装  2.1 ros2 humble安装(对应ubuntu22.04,仅源码安装需要) 2.2 git安装  3. 克隆autoware代码  4.自动安装依赖项(推荐) 5. 手动安装依赖项(在一键配置失效下使用,这里仅列出docker安装中需要的依赖)  5.1 cuda安装  5.2 docker engine安装 5.3 

    2024年01月18日
    浏览(71)
  • Ubuntu20.04升级到Ubuntu 22.04

    执行如下命令将Ubuntu升级到最新的版本: 升级完成后,重启系统 重启成功之后,查看系统的当前版本 最新版本应该是20.04.6,如下图所示。 执行如下命令开始升级 一路yes或确认即可,下面是一些过程中的操作。 所有当前 Ubuntu 20.04 的源列表文件将被 Ubuntu 22.04 的 jammy 源列表

    2024年02月17日
    浏览(50)
  • Ubuntu64位系统(20.04、22.04)安装32位armQT4开发环境补充说明

    在一些特定场景下我们可能需要在更高版本ubuntu上(比如Ubuntu20.04、Ubuntu22.04)安装 Qt 4,维护和开发32位armQT4应用程序。 对于高版本ubuntu, 官方对Qt 4 已经不再提供维护,因此需要解决许多兼容性问题。我们前面博文《Ubuntu64位系统(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)开发环境搭建

    2024年02月14日
    浏览(74)
  • 如何将 Ubuntu 20.04 升级到 Ubuntu 22.04?

    Ubuntu 22.04,代号“Jammy Jellyfish”,于 2022 年 4 月 21 日发布,本文介绍如何将 Ubuntu 20.04 升级到 Ubuntu 22.04?。 在升级到 Ubuntu 22.04 之前,你应该做以下事情: 备份外部驱动器上的所有文件。 确保您有稳定的互联网连接。 禁用任何外部存储库。 请注意,这可能会导致某些服务

    2024年02月06日
    浏览(54)
  • Ubuntu 20.04 升级Ubuntu 22.04 及更换国内源指南

    打开虚拟机,发现我的ubuntu版本还停留在20.04上,主要平时都用的实体机,树莓派以及Centos系统居多,虚拟机也不是经常使用,今天闲来无事就把它升级到22.04吧,升级到Ubuntu 22.04.1 LTS版本后它可以提供免费安全和维护更新至 2027年4月。 我们点开左下角的应用中心,启动紫色

    2024年01月24日
    浏览(69)
  • Windows11+Ubuntu20.04系统重装(升级为Ubuntu22.04)

    事情起因是标题所对应的双系统中,Ubuntu老自动断电关机,一开始是跑大型程序才会关机,这两天愈演愈烈变成运行一个远程控制或者VSCode就会关机。一怒之下找了Dell在线客服,在对方引导下检测了硬件系统,发现没有明显故障,对方建议重装出问题的软件后看现象是否消失

    2024年04月26日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包