首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

Ubuntu16.04升级openssh-9.8p1

编程知识
2024年07月21日 18:53

7月1日OpenSSH官方发布安全更新,忙着处理的同时记录一下升级过程。

系统环境

root@NServer:~# cat /proc/version
Linux version 3.4.113-sun8i (root@test) (gcc version 5.5.0 (Linaro GCC 5.5-2017.10) ) #40 SMP PREEMPT Tue Mar 16 14:24:14 CST 2021
root@NServer:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.7 LTS
Release:	16.04
Codename:	xenial

安装包

zlib-1.3.1.tar.gz         # https://www.zlib.net/
openssl-1.1.1w.tar.gz     # https://www.openssl.org/source/old/1.1.1/index.html
openssh-9.8p1.tar.gz      # https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

升级步骤

升级顺序

openssl -> zlib -> openssh

安装openssl

tar zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl shared
make 
make install
#创建软连接
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/
#查看openssl版本,能正常输出版本号表示成功
/usr/local/openssl/bin/openssl version

安装zlib

tar zxvf zlib-1.3.1.tar.gz
cd zlib-1.3.1
./configure --prefix=/usr/local/zlib
make
make install

安装openssh

#先卸载原openssh,卸载后切记不要断开ssh连接
sudo apt purge --remove "openssh*"
rm -rf /usr/local/openssh
#安装openssh
tar zxvf openssh-9.8p1.tar.gz
cd openssh-9.8p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --without-openssl-header-check 
make 
make install

 配置openssh

重启sshd服务会提示“Privilege separation user sshd does not exist”需要再/etc/passwd最后加入一行sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

echo 'sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin' >> /etc/passwd

注册为服务,创建sshd.service文件

vim /usr/lib/systemd/system/sshd.service

写入内容:

[Unit]
Description=OpenSSH serve
Documentation=man:sshd(8) man:sshd_config(5)
#After=network.target sshd-keygen.service
#Wants=sshd-keygen.service
After=network.target

[Service]
#Type=notify
#EnvironmentFile=/etc/sysconfig/sshd
#ExecStart=/usr/local/openssh/sbin/sshd -D $OPTIONS
ExecStart=/usr/local/openssh/sbin/sshd
#ExecReload=/bin/kill -HUP $MAINPID
#KillMode=process
#Restart=on-failure
#RestartSec=42s

[Install]
WantedBy=multi-user.target

重载Systemctl,并设置为自启动

systemctl daemon-reload
systemctl restart sshd

这里会启动失败,使用systemctl status sshd查看失败原因,是因为原ssh服务占用了22端口,所以这里先把新的ssh服务修改成8022

vim /etc/ssh/sshd_config

把Port和ListenAddress 0.0.0.0前面的#号去掉,并把Port 后面的22改成8022如下图所示:

同时需要将8022加入防火墙,否则ssh无法连接

ufw allow 8022

改完后保存,继续重启sshd

systemctl restart sshd

没报错后,查看sshd状态,Active: active (running) 表示运行中,此时可以使用putty等工具通过8022端口登录服务器。

systemctl status sshd

加入开机启动

systemctl enable sshd

如果提示“update-rc.d: error: sshd Default-Start contains no runlevels, aborting.”,需要修改sshd

vim /etc/init.d/sshd

在#!/bin/bash 下面第二行插入

### BEGIN INIT INFO
# Provides:          sshd
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start sshd daemon at boot time
# Description:       Start sshd daemon at boot time
### END INIT INFO

如下图所示:

保存后重新设置开机自启:

systemctl enable sshd

成功后如下图所示:

在/etc/ssh/sshd_config末尾追加三行数据

echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config

重启服务器:

reboot

#查看版本:

ssh -V

至此升级成功!

附:记得将ssh端口改回22。

From:https://www.cnblogs.com/xujiecnblogs/p/18314877
本文地址: http://shuzixingkong.net/article/258
0评论
提交 加载更多评论
其他文章 salesforce零基础学习(一百四十)Record Type在实施过程中的考虑
本篇参考: salesforce 零基础学习(二十九)Record Types简单介绍 https://help.salesforce.com/s/articleView?id=sf.customize_recordtype_considerations.htm&type=5 https:/
Linux安全启动及Machine Owner Key(UEFI BIOS MBR GPT GRUB)
PS:要转载请注明出处,本人版权所有。 PS: 这个只是基于《我自己》的理解, 如果和你的原则及想法相冲突,请谅解,勿喷。 环境说明 无 前言 只要装过各种系统的人都或多或少会接触到UEFI或者BIOS这样的概念。本文也不会对这些概念进行详解,本文主要把这些概念串起来,并引入MOK(Machine
Linux安全启动及Machine Owner Key(UEFI BIOS MBR GPT GRUB)
LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级!
超详细从0-1部署ChatGLM2-6B-INT4(6GB),双卡 2070 Super 8GB * 2,后续一步一步对大模型进行微调测试!
LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级! LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级! LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级!
NSSCTF———Web(sql注入)
[LitCTF 2023]这是什么?SQL !注一下 ! [SWPUCTF 2022 新生赛]ez_sql [GXYCTF 2019]BabySqli 点击右下角文章可跳转 [LitCTF 2023]这是什么?SQL !注一下 ! 首先我们打开靶场查看信息,提示了闭合方式为id = (((((())
NSSCTF———Web(sql注入) NSSCTF———Web(sql注入) NSSCTF———Web(sql注入)
自学考试(北邮)计算机专业毕业总结
本文目的 2024年是北京自学考试专业过渡期,恰好赶在过渡期前完成了专业的全部课程,于是2024上半年开始毕业论文与设计并完成了答辩,赶在收到毕业证这天总结一下,给后续北邮自考生一点参考,给自己这5年的努力作个总结。 毕业要求所学专业的所有笔试、实践科目、论文成绩均合格,其中笔试、实践是比较常规的考
自学考试(北邮)计算机专业毕业总结 自学考试(北邮)计算机专业毕业总结 自学考试(北邮)计算机专业毕业总结
Java JVM——13. 垃圾回收算法
1.生存还是死亡? 在堆里存放着几乎所有的 Java 对象实例,在 GC 执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC 才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们称为垃圾标记阶段。 那么在 JVM 中究竟是如何标记
Java JVM——13. 垃圾回收算法 Java JVM——13. 垃圾回收算法 Java JVM——13. 垃圾回收算法
MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件
MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件 「一行代码」为「新、旧项目」 添加 Identity 系统跟用户、权限管理网页后台系统 开箱即用,避免打掉重写或是严重耦合情况 Github: https://github.com/mini-softw
MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件 MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件 MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件
前端快速处理几十万条数据的方式?
在前端处理大量数据时,可以采用以下几种方式来提高处理速度和性能: 数据分页:将数据分成多个页面,并按需加载。只加载当前页面的数据,而不是一次性加载全部数据。这可以减少初始加载时间和内存占用,并提高用户体验。 虚拟滚动:对于需要展示大量列表或表格数据的情况,可以使用虚拟滚动技术。虚拟滚动只渲染可见区域