最近公司有需求将redhat的openssh升级到新版本(7.4p1 -> 8.2p1),经过近一周时间的努力,终于初步完成了这个工作,在此做记录已供后续回查。

零、引用连接

  1. https://www.jianshu.com/p/e75300b7e8be 参考文献,虽然步骤有点乱但是也算是有用

  2. https://help.aliyun.com/knowledge_detail/41481.html?spm=a2c6h.13066369.0.0.6d391538l8zhMv 解决密码被拒绝的问题

一、准备工作

  1. 从官网下载最新版的openssh-8.2p1.tar.gz

  2. 准备rhel-server-7.5-x86_64-dvd.iso用于使用yum安装依赖

二、具体升级步骤

0.首先记录sshd.pid的目录,以供后续更改配置文件使用

# 查看sshd.pid路径
find / -name sshd.pid # 我这里是/run/sshd.pid

1.首先查看openssh现有版本

# 查看ssh版本
ssh -V # 我这里的版本是7.4p1

2.使用rpm删除现有的openssh。

# 删除现有openssh
rpm -e --nodeps $(rpm -qa | grep openssh)# 删除旧的配置文件
rm -rf /etc/ssh/*

3.安装openssl-devel(注:如果不安装这个,编译可能无法通过)

# 安装openssl-devel。-y:默认同意安装
yum -y install openssl-devel

4. 更改selinux配置

# enforcing -> permissive
sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

我这里配置文件在/etc/selinux/config,如果你不确定你的配置文件路径,请使用下面的命令查询

/usr/sbin/sestatus -v

5.解压缩openssh-8.2p1.tar.gz,配置、编译、安装

# 解压缩
tar -zxvf openssh-8.2p1.tar.gz openssh-8.2p1# 进入目录
cd openssh-8.2p1# 编译安装前配置
./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ --with-ssl-dir=/etc/ssl --with-md5-passwords --mandir=/usr/share/man/# 编译并安装
make && make install

6.配置ssh服务开机启动

# 复制启动文件至/etc/init.d/
cp -a contrib/redhat/sshd.init /etc/init.d/sshd# 编辑/etc/init.d/sshd文件, 将PID_FILE改为之前记下的sshd.pid路径
sed -i "s/PID_FILE=\/var\/run\/sshd.pid/PID_FILE=\/run\/sshd.pid/" /etc/init.d/sshd# 设置开机启动sshd
chkconfig sshd on
chkconfig --list sshd

7.编辑/etc/ssh/sshd_config, 设置一些常用参数

# 编辑/etc/ssh/sshd_config, 设置一些常用参数
sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/" /etc/ssh/sshd_config
sed -i "s/#PubkeyAuthentication yes/PubkeyAuthentication yes/" /etc/ssh/sshd_config
sed -i "s/#PasswordAuthentication yes/PasswordAuthentication yes/" /etc/ssh/sshd_config
sed -i "s/#AllowTcpForwarding yes/AllowTcpForwarding yes/" /etc/ssh/sshd_config
sed -i "s/#X11Forwarding no/X11Forwarding yes/" /etc/ssh/sshd_config
sed -i "s/#PidFile \/var\/run\/sshd.pid/PidFile \/run\/sshd.pid/" /etc/ssh/sshd_config

8.配置/etc/ssh/sshd_config文件(至于这个在干嘛,我其实也不太知道,有屌大的解释一下)

# 配置/etc/ssh/sshd_config文件
cat>/usr/lib/systemd/system/sshd.service<<EOF
[Unit]
Description=OpenSSH server daemon
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/sbin/sshd -D \$OPTIONS
ExecStart=/usr/sbin/sshd
#ExecReload=/bin/kill -HUP \$MAINPID
#KillMode=process
#Restart=on-failure
#RestartSec=42s[Install]
WantedBy=multi-user.targetEOF

9.确认ssh服务状态

# 启用sshd服务
systemctl enable sshd# 重启服务
systemctl restart sshd# 查看服务状态
systemctl status sshd

10.因为修改selinux配置,需要重启系统

reboot

完成升级!

三、一键升级脚本

为了简化工作,我编写了一个一键升级脚本用于完成这些繁琐的工作。

https://download.csdn.net/download/b7995547/12397549

Redhat7.5升级openssh到8.2p1相关推荐

  1. linux升级ssh到6.6版本,centos6.5升级openssh到7.4版本

    一个同事rpm卸载openssh的时候,使用了参数--erase,导致libssl.so.10依赖也被卸载了,导致yum,wget等服务器无法运行,使用yum等命令时会出现以下报错 libssl.so ...

  2. Linux升级OpenSSH完整手册

    本手册旨在升级OpenSSH版本,提升Linux安全性. 在RedHat AS3 Update8和RedHat AS4 Update7上测试成功. 一. 升级zLib至1.2.3版本 1. 下载Zli ...

  3. 升级openssh带来的问题

    由于之前离职的同事配置了ssh 版本也比较旧 导致跳板机不上185这台机器 其他机器通过ssh也连接不上,于是决定升级openssh,全程使用脚本升级 升级之后原来的公钥私钥还在,但是发现其他机器ss ...

  4. ssh 用密码连接不上、查看openSSH 的版本、CentOS - 升级openSSH,修复安全漏洞

    一  ssh密码连接 1,检查ssh配置文件 #vim /etc/ssh/sshd_config 130 UseDNS no 131 AddressFamily inet 132 PermitRoot ...

  5. oracle rac升级openssh,升级OpenSSH详细步骤

    由于系统扫描到OpenSSH版本太低,所以需要将其升级到高版本.网上搜罗数个文章,都多多少少有点疏漏.加上自己之前没升级过SSH,参考好几个文章查缺补漏才升级成功,着实废了不少劲儿.所以综合一下前辈们 ...

  6. linux ssh rpm包,RHEL6(CentOS6)中使用源码包编译生成RPM的基本方法:升级OpenSSH篇

    RHEL6(CentOS6)中使用源码包编译生成RPM的基本方法:升级OpenSSH篇 具体过程请见代码~ # cp openssh-7.1p1.tar.gz /root/rpmbuild/SOURC ...

  7. openssh升级sftp_Centos7 升级 openSSH 到7.9p1的详细步骤

    由于项目构建时间比较长,近期安全检查发现openssh有漏洞.所以要升级openssh到7.9p1版本.由于ssh用于远程连接,所以要谨慎操作.本文讲的步骤是在Centos7.3系统.原openssh ...

  8. Linux安装或升级openssh步骤和可能遇到的问题

    另起一句:Linux升级openssh一次成功版本,这个是新总结的博客,如果还没看下面这篇博客,可以直接看这个 ============================================ ...

  9. openssh rpm包_100台CentOS7要升级OpenSSH怎么办?

    背景 现在有 100 台 Centos7 需要升级 OpenSSH 到 8.3,怎么办呢?一台台的操作显然不符合我摸鱼的风格,既然每台操作都一样,Ansible Roles 就有用武之地了. 正常升级 ...

最新文章

  1. Java进一步增强AI支持:Java-AI库概述
  2. iOS深入探索直播推拉流实现流程(二:推流权限判断 )
  3. Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结
  4. 浏览器打印设置横向打印_爱普生打印机无线连接设置
  5. System Center 2012R2之SCVMM云部署SCOM(2-2)
  6. Oracle定时器(Job)各时间段写法汇总
  7. java目录实用工具_JAVA 创建文件和文件夹,删除文件和文件夹的实用工具
  8. 学习linux问题,小白学习linux遇到的问题汇总
  9. Creating and Interning Symbols
  10. Python_模块_Day_
  11. 为什么用preparedStatement 而不是statement
  12. 人、猕猴、小鼠静息态三重网络
  13. 南油外服-网易游戏测试(外包) 面试
  14. Fibonacci数列 斐波那契数列
  15. 几何公差基础知识之平面度
  16. oracle本地归档路径,oracle查看归档日志路径
  17. 智能水表自动抄表协议cjt188远传协议,支持地址自动分配检查,灵活好用、Mbus通讯测试工具是一款水表等设备的测试工具
  18. 软件开发中常见名词解释
  19. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.9 案例研究...
  20. 阶乘因式分解(一)/java

热门文章

  1. 华东师范大学计算机考研信息汇总
  2. php执行shell脚本
  3. 360高级前端架构师Hax(贺师俊):前端开发编程语言的过去、现在和未来
  4. Eclipse Neon.3 安装 Xtend IDE插件
  5. 一篇关于不同进制之间的转换、比如二进制、八进制、十进制、十六进制等
  6. 串口热拔插学习(转载)
  7. 2019年CVTE实习心得
  8. 女生应该找一个会打DOTA的男生做老公
  9. RF-测试中常用函数
  10. 横河DLM2000示波器连接电脑