文章目录
- ssh升级
- 一、解包ssh、ssl
- 二、更新安装ssl
- 三、手动更新手动复制库文件
- 四、创建符号链接
- 五、更新库路径
- 六、验证库文件
- 七、设置库路径环境变量
- 八、配置、编译、安装OpenSSH:
- 意外:缺少 `zlib` 的开发库
- 解决方法:
- 九、刷新ssh服务、查看ssh版本
- 十、失败后补救
- 步骤 1: 备份旧的 SSH 配置文件
- 步骤 2: 使用新的 SSH 配置文件
- 步骤 3: 生成新的主机密钥(如果需要)
- 步骤 4: 启动 SSH 服务
- 步骤 5: 验证 SSH 服务
ssh升级
一、解包ssh、ssl
tar -xzf openssl-1.1.1.tar.gz cd openssl-1.1.1
tar -xzf openssh-9.8p1.tar.gz
二、更新安装ssl
[root@localhost ssh]# cd openssl-1.1.1h/
[root@localhost openssl-1.1.1h]# ./config
[root@localhost openssl-1.1.1h]# make
[root@localhost openssl-1.1.1h]# make install
三、手动更新手动复制库文件
将 libcrypto.so.1.1
和 libssl.so.1.1
复制到 /usr/local/lib
目录
[root@localhost openssl-1.1.1h]# cp libcrypto.so.1.1 /usr/local/lib/
[root@localhost openssl-1.1.1h]# cp libssl.so.1.1 /usr/local/lib/
四、创建符号链接
确保库文件的符号链接正确:
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/local/lib/libcrypto.so
ln -s /usr/local/lib/libssl.so.1.1 /usr/local/lib/libssl.so
五、更新库路径
更新动态链接库路径:
echo "/usr/local/lib" > /etc/ld.so.conf.d/openssl.conf
ldconfig
六、验证库文件
确认库文件已经正确安装并可以被系统识别:
ldconfig -p | grep ssl
ldconfig -p | grep crypto
七、设置库路径环境变量
如果库文件不在标准路径中,可以通过设置环境变量来指定库路径:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LDFLAGS="-L/usr/local/lib"
export CPPFLAGS="-I/usr/local/include"
八、配置、编译、安装OpenSSH:
cd ../openssh-9.8p1
./configure
make
sudo make install
意外:缺少 zlib
的开发库
解决方法:
[root@localhost openssh-9.8p1]# yum install zlib-devel
重新配置、编译、安装OpenSSH
./configure
make
make install
九、刷新ssh服务、查看ssh版本
systemctl restart sshd.service
ssh -V
十、失败后补救
步骤 1: 备份旧的 SSH 配置文件
在进行任何修改之前,建议先备份原有的 SSH 配置文件:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /etc/ssh/ssh_config /etc/ssh/ssh_config.bak
步骤 2: 使用新的 SSH 配置文件
将新的 SSH 配置文件复制到正确的位置:
cp /usr/local/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/etc/ssh_config /etc/ssh/ssh_config
步骤 3: 生成新的主机密钥(如果需要)
默认情况下,OpenSSH 安装过程中已经生成了新的主机密钥。如果需要手动生成新的主机密钥,可以使用以下命令:
/usr/local/bin/ssh-keygen -A
步骤 4: 启动 SSH 服务
确保系统使用的是新安装的 OpenSSH 服务,重新启动 SSH 服务:
systemctl restart sshd
步骤 5: 验证 SSH 服务
验证 SSH 服务是否正确启动并使用新安装的版本:(如果出现以下情况修改一下环境变量即可)
[root@localhost openssh-9.8p1]# ssh -V
[root@localhost openssh-9.8p1]# /usr/local/bin/ssh -V
[root@localhost openssh-9.8p1]# echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
[root@localhost openssh-9.8p1]# source ~/.bashrc
[root@localhost openssh-9.8p1]# ssh -V
9.8p1]# echo ‘export PATH=/usr/local/bin:$PATH’ >> ~/.bashrc
[root@localhost openssh-9.8p1]# source ~/.bashrc
[root@localhost openssh-9.8p1]# ssh -V
![image-20240712150022153](https://img-blog.csdnimg.cn/img_convert/be7985188a05ee0b9ce4f441ee4f23d7.png)