Ubuntu 16.04升级OpenSSH

升级ubuntu 16.04上的openssh到8.8p1版本的指南,确保在更新过程中避免ssh连接问题,请遵循以下步骤。

安装Telnet以防SSH故障:

为了防止在升级过程中SSH出现问题,首先在服务器上安装Telnet服务端和客户端。

apt-get install openbsd-inetd telnetd telnet/etc/init.d/openbsd-inetd restart     # 启动服务netstat -anpt|grep 23                 # 检查Telnet服务的默认端口是否启动telnet ip                             # 测试是否可以成功登录

确保服务器对访问主机IP开放防火墙:

ufw allow from 192.168.xx.xx to any port 23

在主机上安装Telnet客户端,并进行远程测试:

telnet 服务器ip

如果遇到“Login incorrect”错误,请修改login文件:

vi /etc/pam.d/login

注释掉pam_securetty.so一行。

Ubuntu 16.04升级OpenSSH

具体参考:https://www.php.cn/link/2c6da25c244f420a938f030b17e22d3e

下载安装包:

下载所需的OpenSSL、OpenSSH和Zlib安装包。

wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1l.tar.gzwget --no-check-certificate https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gzwget http://www.zlib.net/zlib-1.2.11.tar.gz

下载完成后,依次解压这些包:

tar -zxvf xxx.gz

安装Zlib:

解压Zlib并进行安装:

tar xvf zlib-1.2.11.tar.gzcd zlib-1.2.11./configure --prefix=/usr/local/zlibmake -j 8make install

如果在运行./configure --prefix=/usr/local/zlib时遇到错误,请检查并安装gcc:

cc -vsudo apt-get install gcc

安装OpenSSL:

解压并安装OpenSSL:

tar zxvf openssl-1.1.1l.tar.gzcd openssl-1.1.1l./config shared zlibmake -j 8sudo make install

如果在编译过程中遇到zlib.h: No such file or directory错误,请返回Zlib源码目录执行以下操作:

make clean./configure --sharedmake testsudo make installsudo cp zutil.h /usr/local/includesudo cp zutil.c /usr/local/include

然后回到OpenSSL源码目录重新编译。

备份原来的OpenSSL,并创建软链接到系统位置:

mv /usr/bin/openssl /usr/bin/openssl.bakmv /usr/include/openssl /usr/include/openssl.bakln -s /usr/local/bin/openssl /usr/bin/opensslln -s /usr/local/include/openssl /usr/include/openssl

添加OpenSSL的lib库到系统:

echo "/usr/local/lib" > /etc/ld.so.conf.d/openssl.confldconfig

查看新的OpenSSL版本:

openssl version -a

完成后显示应为:OpenSSL 1.1.1l 24 Aug 2021

更新OpenSSH:

备份原OpenSSH文件,并卸载旧版本:

mv /etc/init.d/ssh /etc/init.d/ssh.oldmv /etc/ssh /etc/ssh.oldapt-get remove openssh-server openssh-client -y

Ubuntu 16.04升级OpenSSH

安装libpam0g-dev,并解压、配置、编译新版本的OpenSSH:

apt-get install libpam0g-dev -ytar zxvf openssh-8.8p1.tar.gzcd openssh-8.8p1./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local --with-privsep-path=/var/lib/sshdmake -j 8sudo make install

检查新版本的SSH:

ssh -V

应显示:OpenSSH_8.8p1, OpenSSL 1.1.1l 24 Aug 2021

完成更新后,恢复原备份文件:

cd /etc/sshmv sshd_config sshd_config.defaultcp ../ssh.old/sshd_config ./mv /etc/init.d/ssh.old /etc/init.d/sshsystemctl unmask sshsystemctl restart ssh

检查SSH服务状态:

service sshd status

Ubuntu 16.04升级OpenSSH

如果发现scp无法远程连接,报错FATAL ERROR: Received unexpected end-of-file from SFTP server,请修改sshd_config文件:

vi /etc/ssh/sshd_config

将Subsystem配置为:

Subsystem       sftp    /usr/local/openssh/libexec/sftp-server

重启SSH服务:

service sshd restart

如果没有/usr/local/openssh目录,请将/usr/libexec/sftp-server配置进上述文件。

确认SSH连接正常后,可以关闭Telnet服务:

(1)关闭telnet服务(有两种方式)a)vi /etc/xinetd.d/telnet,将disable=no改成disable=yes;b)chkconfig telnet off;如果需要设置telnet服务不为开机自启动,使用命令chkconfig --del telnet(2)使用命令server xinetd restart或者/etc/init.d/xinetd restart使更改生效。

参考:Ubuntu 16.04 升级Openssh 8.8P1 Ubuntu 16 更新openssh 8.8

以上就是Ubuntu 16.04升级OpenSSH的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/17431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何在Golang中处理指针和切片
上一篇 2025年12月2日 12:43:10
华为新三折叠屏Mate XTs非凡大师开售现场人从众:17999元起
下一篇 2025年12月2日 12:43:13

相关推荐

  • 如何安装mysql GUI管理工具

    首选安装MySQL Workbench,Windows下载MSI安装,macOS拖拽DMG到应用,Linux用apt命令安装,也可选phpMyAdmin、DBeaver等工具。 安装 MySQL 图形化管理工具(GUI)可以让你更方便地操作数据库,比如建表、查询、备份等。最常用且官方推荐的工具是 M…

    2026年9月20日
    100
  • Java从文本文件随机读取多行连续内容的教程

    本教程旨在指导java开发者如何高效地从文本文件中随机读取并打印指定数量(例如5行)的连续内容,尤其适用于处理结构化文本块(如诗歌)。我们将探讨如何避免仅读取文件开头固定行数的局限,通过将文件内容一次性加载到内存并结合随机数生成器来精确选取所需的文本块,从而实现真正的随机性与灵活性。 引言与问题分析…

    2026年9月20日
    200
  • Linux如何配置NAT实现端口映射

    Linux如何配置NAT实现端口映射Linux如何配置NAT实现端口映射Linux如何配置NAT实现端口映射Linux如何配置NAT实现端口映射

    首先启用IP转发,再通过iptables配置DNAT实现端口映射,将外部请求重定向到内网主机,如将公网2222端口映射至192.168.1.100的22端口;若需回包正确返回,还需配置MASQUERADE或SNAT规则;最后保存规则确保重启生效,并确认防火墙允许相应端口通信。 在Linux中配置NA…

    2026年9月20日 用户投稿
    000
  • RBAC(基于角色的权限控制)实现方案

    rbac重要,因为它通过角色管理权限,简化了权限管理,提高了系统安全和管理效率。实现rbac时:1.设计数据库结构,定义用户、角色、权限表及中间表;2.在代码中实现权限检查和角色、权限的动态管理;3.优化性能,防止权限泄露,管理角色膨胀。 在探讨RBAC(基于角色的权限控制)实现方案之前,让我们先来…

    2026年9月20日
    000
  • 腾讯元宝AI便捷体验入口 腾讯元宝网页版在线入口

    腾讯元宝AI便捷体验入口为https://yuanbao.tencent.com,支持网页版、手机APP及微信小程序访问,提供智能问答、文档解析、内容生成等多功能服务。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 腾讯元宝AI便捷体验入口…

    2026年9月20日
    000
  • Android Activity与Fragment通信及视图访问的最佳实践

    本文旨在解决android开发中activity与fragment之间视图访问和数据通信的常见问题,特别是当使用bottom navigation activity模板时。我们将探讨为何不能直接在activity中访问fragment视图,并详细介绍如何利用fragment的生命周期方法(如`onv…

    2026年9月20日
    100
  • Redmi K70电池续航表现解析 Redmi K70充电优化技巧

    Redmi K70续航表现因使用习惯而异,重度使用亮屏5.5至6.5小时,日常通勤可撑一天;120W快充19分钟充满,建议随用随充、开启智能充电保护,并避免边充边玩大型游戏;通过开启自动亮度、降低分辨率至1.5K、限制后台高耗电应用可有效延长续航。 Redmi K70的续航到底怎么样,充电怎么用才最…

    2026年9月20日
    100
  • Gemini2.5网页版访问入口_Gemini2.5官方网站下载链接

    Gemini 2.5网页版访问入口为 https://gemini.google.com/app,登录谷歌账号后可使用主交互界面、模型切换、文件上传、历史记录及移动端同步等功能。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ Gemini2…

    2026年9月20日
    000
  • Java Swing:在类中管理 JFrame 实例的两种策略

    本文探讨在 java swing 应用程序中,如何有效地在不同方法中访问和管理 jframe 实例,避免 this 关键字的限制。我们将介绍两种核心策略:将 jframe 作为类成员变量,或使类直接继承 jframe。同时,强调组件应添加到 jframe 的内容面板,而非直接添加到 jframe。 …

    2026年9月20日
    000
  • Linux如何卸载软件并清理依赖包

    Linux如何卸载软件并清理依赖包Linux如何卸载软件并清理依赖包Linux如何卸载软件并清理依赖包Linux如何卸载软件并清理依赖包

    卸载软件并清理依赖可释放空间和保持系统整洁。Ubuntu/Debian使用sudo apt purge 软件名彻底卸载,sudo apt autoremove清理依赖;CentOS/RHEL/Fedora使用sudo dnf remove 软件名卸载,sudo dnf autoremove清理依赖;…

    2026年9月20日 用户投稿
    000
  • win11文件资源管理器没有选项卡功能怎么办_win11资源管理器选项卡缺失修复方法

    Windows 11文件资源管理器缺少选项卡功能时,首先确认系统版本是否为22H2或更高,且来自Beta或Release Preview通道;若版本支持但功能仍缺失,可尝试重启Windows资源管理器进程以修复界面加载问题;检查注册表中HKEY_CURRENT_USERSoftwareMicroso…

    2026年9月20日
    000
  • Mockito中利用自定义ArgumentMatcher实现集合内参数匹配

    mockito并未提供直接的`in()`参数匹配器来判断方法参数是否包含在指定集合中。本文将详细介绍如何利用`intthat`(或`argthat`)结合lambda表达式或自定义匹配器,灵活实现对方法参数是否属于某个集合的条件匹配,从而在测试存根(stubbing)或验证(verification…

    2026年9月20日
    000
  • mysql如何优化初级项目数据库性能

    答案:初级项目数据库性能问题多源于设计和使用不当,优化需从表结构、索引、SQL语句和配置入手。应选用合适数据类型、避免NULL、拆分大字段;为常用查询字段建索引,遵循最左前缀原则,避免函数操作导致索引失效;禁止SELECT *,合理使用LIMIT,减少子查询与循环中执行SQL;开启慢查询日志,使用连…

    2026年9月20日
    000
  • PHP框架依赖管理工具选哪个_PHP框架依赖管理工具对比

    Composer是PHP依赖管理的首选工具,通过composer.json定义依赖、自动安装包并处理版本冲突,支持主流框架、拥有丰富生态和自动加载机制,尽管存在学习曲线和潜在依赖冲突,但其优势远超其他方案。 PHP框架依赖管理,其实就是选一个靠谱的工具来帮你自动搞定项目里各种代码包的安装、更新和卸载…

    2026年9月20日
    000
  • Mockito ArgumentMatcher:优雅实现参数集合包含性验证

    本文探讨了在mockito中,当需要验证方法参数是否包含在特定集合中时,如何克服标准`argumentmatchers`的限制。通过利用`argumentmatchers.intthat()`(或`argthat()`)结合lambda表达式,可以灵活地实现自定义的参数匹配逻辑。文章还介绍了如何将此…

    2026年9月20日
    000
  • 生产环境错误监控与告警设置

    在生产环境中设置错误监控与告警的步骤包括:1. 使用sentry等工具捕获并记录错误;2. 配置告警规则,根据业务需求定制阈值;3. 选择合适的告警接收方式,如邮件或slack;4. 对错误进行分类和优先级排序,平衡监控精细度与系统性能;5. 注意错误分类、告警疲劳、测试告警和数据隐私等问题,以提升…

    2026年9月20日
    000
  • win11如何找回任务栏的音量图标_Win11任务栏音量图标恢复方法

    1、检查任务栏设置中音量图标是否开启;2、重启Windows资源管理器进程;3、启动Windows Audio及相关服务;4、运行sfc /scannow修复系统文件;5、修改注册表NoTrayItemsDisplay值为0以恢复显示。 如果您发现Windows 11任务栏右下角的音量图标突然消失,…

    2026年9月20日
    000
  • Java中通过PKCS12证书实现OkHttp客户端认证的POST请求

    本教程详细介绍了如何在java应用中,利用okhttp库执行需要客户端证书认证的post请求。我们将重点讲解如何加载pkcs12格式的证书文件,配置keystore和keymanagerfactory,初始化sslcontext,并将其集成到okhttpclient中,以确保请求的安全性和认证的正确…

    2026年9月20日
    000
  • 在Workerman中使用Composer依赖库

    在workerman中可以使用composer依赖库来扩展应用功能,但需要考虑异步编程特性。1. 创建composer.json文件并指定所需库,如monolog。2. 运行composer install命令安装库。3. 在worker进程中初始化和使用库,如monolog记录日志。4. 评估库的…

    2026年9月20日
    000
  • qq浏览器怎么导出已保存的账号密码_qq浏览器密码导出教程

    1、通过Windows凭据管理器可查看QQ浏览器保存的密码,进入控制面板的“凭据管理器”→“Web凭据”,点击条目并验证系统密码后显示明文信息。2、在QQ浏览器设置中进入“密码管理”→“已保存的密码”,身份验证后逐条查看账号密码并手动记录。3、利用开发者工具修改登录页密码框属性,将type=&#82…

    2026年9月20日
    000

发表回复

登录后才能评论
关注微信