升级OpenSSH 9.8p1(CentOS 7)

升级OpenSSH 9.8p1(CentOS 7)

下载地址

安装gcc

获取所需的 RPM 包

  • gcc
  • gcc-c++
  • cpp
  • glibc-devel
  • libmpc
  • mpfr
  • zlib-devel
  • binutils
  • pam
  • pam-devel

可以在上面提供的阿里云镜像rpm源中找到

批量安装

rpm  -ivh  *.rpm --nodeps --force

安装Perl

检查是否已安装Perl,已经安装可以选择跳过

# 解压
tar -zxvf perl-x.xx.x.tar.gz

# 进入解压后的目录中
cd perl-x.xx.x/

# 配置、安装Perl
./Configure -des -Dprefix=/usr/local/perl
#编译
make
#安装
make install

配置环境变量

# 配置环境变量
vim ~/.bash_profile

#这里的/usr/local/perl是上面配置的安装目录,如果配置了别的安装目录可以自行修改
# 在文件最末尾增加一行
export PATH=/usr/local/perl/bin:$PATH

# 刷新缓存
source ~/.bash_profile

# 检查是否安装成功
perl -V

安装zlib

检查是否已安装zlib,已经安装可以选择跳过

# 解压文件,注意替换版本
tar -zxvf zlib.tar.gz
cd zlib-x.x.x

#配置安装目录,有需要的可以自行更改
./configure --prefix=/usr/local/zlib

#编译
make

#安装
make install

编制环境变量

# 配置环境变量
vim ~/.bash_profile

#这里的/usr/local/perl是上面配置的安装目录,如果配置了别的安装目录可以自行修改
# 在文件最末尾增加一行
export LD_LIBRARY_PATH=/usr/local/zlib/lib:$LD_LIBRARY_PATH

# 刷新缓存
source ~/.bash_profile

# 输出include、lib、share文件夹,就算安装完成
ls /usr/local/zlib

安装OpenSSL

卸载原来的OpenSSL

# 会输出例如:openssl-1.0.2k-8.el7.x86_64
rpm -qa | grep openssl | grep -v lib

# openssl-1.0.2k-8.el7.x86_64 为上面命令的输出
yum -y remove openssl-1.0.2k-8.el7.x86_64

安装

# 解压,注意替换版本号
tar -zxvf openssl-x.x.x.tar.gz

# 进入解压后的目录
cd openssl-x.x.x

# 注意这个目录,高版本可能是/usr/local/openssl/lib64,低版本/usr/local/openssl/lib
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl -Wl,-rpath,/usr/local/openssl/lib64 shared

make && make install

注意!注意!注意!

注意:安装检查一下/usr/local/openssl目录下是lib还是lib64,如果与你./config配置的不符合,请重新配置安装执行./config 将你当前版本的lib或者lib64目录,然后再执行make && make install,一定要配置对,不然后面配置安装Open SSH执行./configure时候会报错找不到SSL的头文件

创建软链接

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

更新系统配置

注意!注意!注意!

注意:/usr/local/openssl/lib64这个目录要看你安装后的/usr/local/openssl/目录下是lib还是lib64,一定要配置对!

echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
/sbin/ldconfig

检查版本

openssl version

安装OpenSSH

卸载原来的版本

rpm -qa | grep openssh
# 输出
openssh-clients-7.4p1-11.el7.x86_64
openssh-7.4p1-11.el7.x86_64
openssh-server-7.4p1-11.el7.x86_64

# 注意替换版本号
yum -y remove openssh-clients-7.4p1-11.el7.x86_64 openssh-7.4p1-11.el7.x86_64 openssh-server-7.4p1-11.el7.x86_64

备份Open SSH配置文件

cp -r /etc/ssh /etc/ssh.bak
rm -rf /etc/ssh

安装

tar -zxvf openssh-portable-V_9_8_P1.tar.gz
cd openssh-portable-V_9_8_P1

# 配置
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/openssl/include  --with-ssl-dir=/usr/local/openssl  --with-zlib  --with-md5-passwords  --with-pam  --with-ssl-engine

make && make install

创建软链接

ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd
ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
ln -s /usr/local/openssh/bin/ssh-add /usr/bin/ssh-add
ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
ln -s /usr/local/openssh/bin/ssh-keyscan /usr/bin/ssh-keyscan

将openssh的服务脚本复制到/etc/init.d目录下

# 备注:sshd.init 文件是存放在openssh的压缩包中,需要在解压的文件夹中查找
cp /home/szym/open_ssh_files/openssh-portable-V_9_8_P1/contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd

添加sshd服务

chkconfig --add sshd

检查openssh版本

systemctl restart sshd
ssh -V

升级完新的ssh配置文件默认关闭root账户的远程登录,如需开启请修改配置文件/etc/ssh/sshd_config

# 找到配置项 PermitRootLogin 改为 yes
PermitRootLogin yes

参考

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
升级OpenSSH从9.6p19.8p1通常涉及几个步骤,因为这是不同版本之间的较大更新,可能包括新功能、安全修复和性能改进。以下是通用的升级流程: **注意:** - 在生产环境中升级前,请务必备份所有重要数据和配置文件。 - 这是一个简化版的过程,具体步骤可能会因操作系统、包管理器以及当前环境的具体差异而有所不同。 1. **检查依赖和兼容性:**确保你当前的系统支持9.8p1,查看官方文档了解系统和软件栈的要求。 2. **停止服务:**在开始升级之前,先停止正在运行的OpenSSH服务,以防数据丢失或服务中断。 ```bash sudo systemctl stop ssh ``` 3. **更新包管理系统:**根据你的发行版(如Ubuntu、Debian、RHEL等),更新你的包管理器(apt-get, yum, dnf等)。 ```bash sudo apt-get update || sudo yum update ``` 4. **查找并安装新的OpenSSH包:**使用包管理器安装最新版本。 ```bash sudo apt-get install openssh-server || sudo yum install openssh-server ``` 5. **验证安装:**安装后确认新的OpenSSH版本已经安装。 ```bash openssh-client --version ``` 6. **迁移配置文件:**如果旧版本的配置文件没有更改,新版本的OpenSSH可能会自动迁移到正确的位置。检查`/etc/ssh/sshd_config`是否已更新。 7. **重启服务:**确认新版本设置无误后,重启服务。 ```bash sudo systemctl start ssh sudo systemctl enable ssh (若需要开机启动) ``` 8. **测试升级:**连接到服务器并尝试使用SSH服务,确保一切正常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值