OpenSSH升级
环境:CentOS Linux release 7.9.2009 (Core)
版本:
openSSH:OpenSSH_7.4p1
openSSL:OpenSSL 1.0.2k-fips 26 Jan 2017
备份ssh配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old
下载OpenSSH源码包
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
tar xf openssh-9.8p1.tar.gz
cd openssh-9.8p1.tar.gz
配置 编译 安装
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-md5-passwords
make && make install
配置过程中报错OpenSSL版本过低,需要升级OpenSSL版本,如下图
# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
升级OpenSSL
下载OpenSSL源码包
wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz
tar xf openssl-1.1.1u.tar.gz
cd openssl-1.1.1u/
备份OpenSSL库
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
配置 编译 安装
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make && make install
更新库文件路径、库缓存
echo "/usr/local/openssl/lib" >/etc/ld.so.conf.d/openssl_1.1.1.conf
ldconfig
更新OpenSSL库
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
查看OpenSSL版本
# openssl version
OpenSSL 1.1.1u 30 May 2023
重新配置 编译 安装OpenSSH
使--with-ssl-dir
参数指定openssl
cd ~/openssh-9.8p1/
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-pam --with-md5-passwords
make && make install
配置过程中报错找不到PAM,configure: error: PAM headers not found
安装PAM包
下载pam-devel 包
yum install --downloadonly --downloaddir=/root pam-devel
安装
# rpm -ivh pam-devel-1.1.8-23.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:pam-devel-1.1.8-23.el7 ################################# [100%]
再次配置 编译 安装OpenSSH
命令与重新配置 编译 安装OpenSSH部分一致
修改私钥文件权限
make install过程中提示/etc/ssh/ssh_host_ecdsa_key权限有问题,/etc/ssh/ssh_host_ecdsa_key权限只能是600,需要需改为600(这里安装后默认是640)
chmod 600 ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key
这个报错如果忽略的话,重启sshd服务也会报错,还是会提示key文件权限有问题。修改后重启sshd服务正常
查看OpenSSH版本
# ssh -V
OpenSSH_9.8p1, OpenSSL 1.1.1u 30 May 2023