CentOS7升级OpenSSH
前期准备
包名 下载地址 备注
OpenSSH https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz 9.8P1版本(需要将openssl升级至1.1.1及以上版本)
OpenSSL https://www.openssl.org/source/openssl-1.1.1n.tar.gz 1.1.1n版本
环境检查与备份
# 检查当前 OpenSSH 版本
ssh -V
# 检查 OpenSSL 版本
openssl version
# 备份原 OpenSSH 配置文件
cp -rf /etc/ssh /etc/ssh_backup
cp -rf /etc/pam.d /etc/pam.d_backup
# mv /bin/openssl /bin/openssl.old
安装依赖工具
yum install -y perl gcc make pam-devel zlib-devel rpm-build libedit-devel krb5-devel
源码安装OpenSSL
tar -xzvf openssl-1.1.1n.tar.gz
cd openssl-1.1.1n
# 配置预处理 如果没有报错,请解决报错后重试
./config --prefix=/usr/local/openssl shared zlib
# 编译 如果没有打印OK,请解决报错后重试
make && echo "OK"
# 安装 如果没有打印OK,请解决报错后重试
make install && echo "OK"
# 更新系统库链接
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf.d/openssl-1.1.1.conf
ldconfig
# ln -s /usr/local/openssl/bin/openssl /bin/openssl
cd ..
源码安装OpenSSH
tar -xzvf openssh-9.8p1.tar.gz
cd openssh-9.8p1
# 配置预处理,如果报错,请解决报错后重试
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-kerberos5 --with-pam --with-libedit --with-zlib --with-ssl-engine --with-ssl-dir=/usr/local/openssl
# 编译 如果没有打印OK,请解决报错后重试
make && echo "OK"
# 安装 如果没有打印OK,请解决报错后重试
make install && echo "OK"
cd ..
配置与重启服务
# 恢复配置文件(若使用源码编译)
cp -rf /etc/ssh /etc/ssh_new
\cp -rf /etc/ssh_backup /etc/ssh
cp -rf /etc/pam.d /etc/pam.d_new
\cp -rf /etc/pam.d_backup /etc/pam.d
# 修改权限
chmod 600 /etc/ssh/ssh*key
# 允许root远程登录,默认不允许,有需要可执行
echo "" >> /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "UsePAM yes" >> /etc/ssh/sshd_config
# 重启 SSH 服务
systemctl restart sshd
# 设置开机自启
systemctl enable sshd
如需重新安装系统自带OpenSSH
yum -y reinstall openssl openssh openssh-server openssh-clients
\cp -rf /etc/ssh_backup /etc/ssh
\cp -rf /etc/pam.d_backup /etc/pam.d
如需重新生成秘钥
sudo rm -f /etc/ssh/ssh_host_*
sudo /usr/bin/ssh-keygen -A
sudo chmod 600 /etc/ssh/ssh_host_*
sudo chmod 644 /etc/ssh/*.pub
如无法登录,提示如下
error: Could not get shadow information for root
echo "" >> /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "UsePAM yes" >> /etc/ssh/sshd_config
安装 新的curl
# 下载 curl 源码
wget https://curl.se/download/curl-8.1.2.tar.gz
tar -xzf curl-8.1.2.tar.gz
cd curl-8.1.2
# 配置编译选项(确保指向 OpenSSL 1.1.x)
./configure --with-openssl=/usr/local/openssl-1.1.1k \
--disable-ssl3 \
--disable-ssl2
# 编译并安装
make
sudo make install
# 更新动态库缓存
sudo ldconfig

浙公网安备 33010602011771号