OpenSSH离线升级最新版
1. 下载包
升级最新的OpenSSH需要升级OpenSSL最新
OpenSSH最新版下载地址: Index of /pub/OpenBSD/OpenSSH/portable/
OpenSSL最新版下载地址: /source/index.html (openssl.org)
2. 升级OpenSSL
本次下载的版本为openssl-3.0.12.tar.gz
#进入目录 cd /opt/ #下载 wget https://www.openssl.org/source/openssl-3.0.12.tar.gz --no-check-certificate #解压 tar zxvf openssl-3.0.12.tar.gz #进入解压后的文件夹 cd openssl-3.0.12 #执行Configure ./config shared zlib --prefix=/usr/local/openssl #编译并安装 make && make install #执行以下命令配置OpenSSL ./config -t make depend #在/usr/local目录下创建一个符号链接,将openssl命名为ssl cd /usr/local ln -s openssl ssl #在/etc/ld.so.conf文件的末尾添加/usr/local/openssl/lib echo "/usr/local/openssl/lib" >> /etc/ld.so.conf echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf #重新加载配置 ldconfig #查看版本 openssl version
3. 升级openSSH
#进入目录 cd /opt #下载最新版本 wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz #解压 tar zxvf openssh-9.5p1.tar.gz #执行configure ./configure --with-ssl-dir=/usr/local/openssl #安装 make && make install #重启sshd服务 systemctl restart sshd #检查ssh配置是否有开启root远程登录 vi /etc/ssh/sshd_config #PermitRootLogin yes #查看版本,如果版本未改变需要重启电脑 ssh -V
可能遇见的错误
1. 缺少perl编译环境 报错/usr/bin/env perl :没有那个文件或目录
解决办法为安装perl编译环境,官网下载地址: Perl Source - www.cpan.org
cd /opt wget https://www.cpan.org/src/5.0/perl-5.38.0.tar.gz tar zxvf perl-5.38.0.tar.gz ./Configure make && make install perl -v
2. openssl安装过程中提示缺少命令,比如/bin/sh pod2man: 命令找不到
#解决办法为找到改命令拷贝到/usr/bin目录下,或者做软连接/环境变量 find / -name pod2man cp pod2man路径 /usr/bin
3. make && make install 执行报错
#需要安装c语言编译环境 yum install -y gcc
4. ssh安装过程中提示找不到OpenSSL:configure: error: OpenSSL library not found.
#需要在 ./configure增加参数 ./configure --with-ssl-dir=#OpenSSL路径
penSSL library not found.
#需要在 ./configure增加参数 ./configure --with-ssl-dir=#OpenSSL路径