前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DevOps:CentOS7离线升级OpenSSH_8.8p1

DevOps:CentOS7离线升级OpenSSH_8.8p1

作者头像
Freedom123
发布2024-03-29 18:53:46
3230
发布2024-03-29 18:53:46

一、环境

centos7.9,升级openssh到8.8p1最新版本

二、下载升级包

openssl和zlib为相关依赖 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz wget https://www.openssl.org/source/openssl-1.1.1j.tar.gz wget http://www.zlib.net/zlib-1.2.11.tar.gz

三、编译安装

1、确认安装了gcc编译环境

代码语言:javascript
复制
# yum install -y gcc gcc-c++(yum安装gcc编译环境)

2、编译安装zlib

代码语言:javascript
复制
# tar -zxvf zlib-1.2.11.tar.gz

# cd zlib-1.2.11

# ./configure --prefix=/usr/local/zlib

# make && make install

3、编译安装openssl

代码语言:javascript
复制
# tar -zxvf openssl-1.1.1j.tar.gz

# cd openssl-1.1.1j

# ./config --prefix=/usr/local/ssl -d shared

# make && make install

# echo '/usr/local/ssl/lib' >> /etc/ld.so.conf

# ldconfig -v

# /usr/local/ssl/bin/openssl version -a

4、编译安装openssh

代码语言:javascript
复制
# tar -zxvf openssh-8.8p1.tar.gz

# cd openssh-8.8p1

# ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl

# make && make install

四、配置文件备份和修改

代码语言:javascript
复制
# sshd_config文件修改
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

# 备份原有文件,并将新的配置复制到指定目录
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config

mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

mv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/ssh

mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

 
# 修改systemd参数(去掉Type或改为Type=simple)
vim /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
#Type=notify
Type=simple
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target

五、重启sshd服务

代码语言:javascript
复制
[root@server1 openssh-8.8p1]# systemctl daemon-reload
[root@server1 openssh-8.8p1]# systemctl restart sshd
[root@server1 openssh-8.8p1]# systemctl status sshd

六、注意

如果要修改ssh的配置文件必须得修改/usr/local/openssh/etc/sshd_config,修改/etc/ssh/sshd_config不会生效。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境
  • 二、下载升级包
  • 三、编译安装
  • 四、配置文件备份和修改
  • 五、重启sshd服务
  • 六、注意
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档