centos7.4下升级最新的ssh

一 安装telnet服务器

安装telnet服务器目的,防止我们升级失败的时候,可以通过telnet登录,而不至于上机房。 由于我们是临时启动,所以只要简单的使用,不要通过xinetd来进行守护。

命令如下:

go 复制代码
yum -y install telnet telnet-server
systemctl enable telnet.socket --now
systemctl start telnet.socket

#防火墙设置
firewall-cmd --list-port
firewall-cmd --permanent --add-port=23/tcp
firewall-cmd --reload

注意,默认是不能通过root登录的、root登录比较麻烦。

二 编译centos7下的openssh

2.1 安装必要依赖包

go 复制代码
yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip libXt-devel imake gtk2-devel -y

2.2 编译打包rpm文件

建立文件:

go 复制代码
mkdir -p /root/rpmbuild/SPECS
mkdir -p /root/rpmbuild/SOURCES

上传到文件

go 复制代码
openssh-9.6p1.tar.gz
和openssh-9.6p1.tar.gz

下载地址:

go 复制代码
https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz

解压打包:

go 复制代码
tar -zxf openssh-9.3p1.tar.gz 
cp openssh-9.6p1/contrib/redhat/openssh.spec ./

#关掉no_gnome_askpass no_x11_askpass这两个参数
  sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec
  sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec

#rpm 制作
rpmbuild -ba openssh.spec

报错:

go 复制代码
extracting debug info from /root/rpmbuild/BUILDROOT/openssh-9.6p1-1.el7.centos.x86_64/usr/libexec/openssh/x11-ssh-askpass
*** ERROR: No build ID note found in /root/rpmbuild/BUILDROOT/openssh-9.6p1-1.el7.centos.x86_64/usr/libexec/openssh/x11-ssh-askpass
error: Bad exit status from /var/tmp/rpm-tmp.9Mxy8c (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.9Mxy8c (%install)

在spec文件任意位置添加:

go 复制代码
%define __debug_install_post \
%{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\
%{nil}

最后制作成功:

go 复制代码
...
...
Wrote: /root/rpmbuild/SRPMS/openssh-9.6p1-1.el7.centos.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-9.6p1-1.el7.centos.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-clients-9.6p1-1.el7.centos.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-server-9.6p1-1.el7.centos.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-askpass-9.6p1-1.el7.centos.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-askpass-gnome-9.6p1-1.el7.centos.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-debuginfo-9.6p1-1.el7.centos.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.FgdHrz
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd openssh-9.6p1
+ rm -rf /root/rpmbuild/BUILDROOT/openssh-9.6p1-1.el7.centos.x86_64
+ exit 0

2.3 删除老的rpm

go 复制代码
yum remove openssh-server-7.4p1-11.el7.x86_64
yum remove openssh-7.4p1-11.el7.x86_64

安装新的sshd

go 复制代码
[root@localhost x86_64]# cd /root/rpmbuild/RPMS/x86_64

[root@localhost x86_64]# rpm -ivh *.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:openssh-9.6p1-1.el7.centos       ################################# [ 17%]
   2:openssh-askpass-9.6p1-1.el7.cento################################# [ 33%]
   3:openssh-askpass-gnome-9.6p1-1.el7################################# [ 50%]
   4:openssh-clients-9.6p1-1.el7.cento################################# [ 67%]
   5:openssh-server-9.6p1-1.el7.centos################################# [ 83%]
   6:openssh-debuginfo-9.6p1-1.el7.cen################################# [100%]
相关推荐
Yana.nice4 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_960567966 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧7 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
HiDev_8 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling8 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的森9 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客9 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝9 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维
AOwhisky10 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客10 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice