openssh、openssl、zlib热升级详细介绍,以及问题处理

写在前面:这篇文章是参考一位博主的,在其基础上补充了一些。他的博客:

openssh-8.8 安装最新版_上晴下雪的博客-CSDN博客_openssh安装

经测试,升级sshd服务,是不用停止ssh连接的。

首先介绍一下openssh、openssl、zlib的关系:

openssl依赖于zlib,openssh依赖于openssl和zlib,所以我们要先安装zlib,然后是openssl,最后是openssh。

zlib下载地址:http://www.zlib.net/zlib-1.2.11.tar.gz

openssl下载地址:https://www.openssl.org/source/openssl-1.1.1l.tar.gz

openssh下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz

1.安装zlib

#进入到/usr
mkdir zlib    #创建源码存储目录
cd zlib
#将下载好的源码上传到/usr/zlib 然后解压
cd zlib-1.2.11    #进入到源码目录
./configure --prefix=/usr/local/zlib
make && make install

2.安装openssl

#进入/usr
mkdir openssl    #创建源码存储目录
cd openssl
#将下载好的源码上传到/usr/openssl 然后解压
cd openssl-1.1.1l    #进入到源码目录
./config shared --prefix=/usr/local/ssl
make
make install
ln -s /usr/local/ssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig –v
openssl version

3.安装openssh(为避免安装失败,最好是先配置一下telnet)

#进入/usr
mkdir openssh    #创建源码存储目录
#将下载好的源码上传到/usr/openssh 然后解压
cd openssh-8.8p1    #进入到源码目录
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install
mv /usr/sbin/sshd /usr/sbin/sshd.old.bk
cp sshd /usr/sbin/
cp ssh /etc/init.d/ssh
cp sshd /usr/local/sbin/sshd
cp ssh /usr/local/sbin/ssh

4.同步配置

mv /usr/bin/scp /tmp/
mv /usr/bin/ssh* /tmp/
ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
ln -s /usr/local/openssh/bin/scp /usr/bin/scp
ln -s /usr/local/openssh/bin/ssh-add /usr/bin/ssh-add
ln -s /usr/local/openssh/bin/ssh-agent /usr/bin/ssh-agent
ln -s /usr/local/openssh/bin/ssh-keygen  /usr/bin/ssh-keygen
ln -s /usr/local/openssh/bin/ssh-keyscan /usr/bin/ssh-keyscan
ln -s /usr/local/sbin/sshd /usr/bin/sshd

cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

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
echo 'Ciphers aes128-ctr,aes192-ctr,aes256-ctr' >> /usr/local/openssh/etc/sshd_config

5.执行service sshd reload(最好是不要restart,reload重载配置就可以了)

6.查看ssh -V

可能遇到的问题:

 1. ssh升级之后无法登录,提示拒绝密码,解决办法:

将/etc/ssh/下的key文件备份,然后重启ssh

2.service sshd start 命令无法使用,提示:extra arguments 解决办法:

将/etc/init.d/sshd还原成之前的

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是 CentOS 9.7 升级 OpenSSHOpenSSL详细步骤: 1. 检查当前系统版本 使用以下命令检查当前系统是否已经安装了 OpenSSHOpenSSL: ``` rpm -qa | grep -E 'openssh|openssl' ``` 如果系统中已经安装了这两个软件包,则需要先卸载旧版本的 OpenSSHOpenSSL。 2. 卸载旧版本的 OpenSSHOpenSSL 使用以下命令卸载旧版本的 OpenSSHOpenSSL: ``` yum remove -y openssh openssl ``` 3. 下载最新版本的 OpenSSHOpenSSLOpenSSHOpenSSL 官方网站下载最新版本的软件包,可以使用以下命令下载: ``` wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz ``` 4. 安装 OpenSSL a. 解压 OpenSSL 软件包: ``` tar -zxvf openssl-1.1.1k.tar.gz ``` b. 进入解压后的目录,执行以下命令进行编译: ``` cd openssl-1.1.1k ./config shared zlib make && make install ``` c. 编译完成后,需要将新版本的 OpenSSL 库文件路径添加到系统的 ldconfig 配置文件中: ``` echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf ldconfig -v ``` 5. 安装 OpenSSH a. 解压 OpenSSH 软件包: ``` tar -zxvf openssh-8.6p1.tar.gz ``` b. 进入解压后的目录,执行以下命令进行编译: ``` cd openssh-8.6p1 ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords --with-pam make && make install ``` c. 编译完成后,需要将新版本的 OpenSSH 相关文件路径添加到系统的 PATH 环境变量中: ``` echo "export PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" >> /etc/profile source /etc/profile ``` 6. 验证 OpenSSHOpenSSL 的版本 执行以下命令验证 OpenSSHOpenSSL 的版本: ``` ssh -V openssl version ``` 如果输出的版本号是最新的,则说明升级成功。 注意:升级 OpenSSHOpenSSL 可能会影响系统的安全性和稳定性,请谨慎操作,并备份系统数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值