一. 在相同系统系统配置的 机器 A 中执行下面两个步骤
1. 配置yum缓存保存缓存
vi /etc/yum.conf 修改配置为: keepcache=1
2. 清除yum缓存,并且设置保存缓存且自动建立依赖之间的索引
yum clean all && yum makecache
3.用一台Centos版本和你要升级的服务器的Centos版本相同的服务器A按照博客:
安装 openSSL 3.0.5 和 openSSH9.0p1
二.拷贝 服务器A目录 /var/cache/yum 到内网服务器B的相同目录下
1. 安装 perl
tar -xzf perl-5.36.0.tar.gz cd perl-5.36.0 ./Configure -des -Dprefix=/usr/local/localperl make make test make install
2. 安装依赖
yum install -y perl-CPAN
yum -y install pam-devel
yum -C install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel xmkmf libXt-devel gtk2-devel make
3. 安装 perl的 perl-IPC-Cmd 模块
yum -y -C install perl-IPC-Cmd
4. 安装 zlib
tar -xvf zlib-1.2.12.tar.gz cd zlib-1.2.12 ./configure make && make install
5.openSSL 安装
tar -xvf openssl-3.0.5.tar.gz cd openssl-3.0.5 ./config -fPIC --openssldir=/etc/pki/tls --prefix=/etc/pki/tls shared zlib make && make install
备份:
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
配置指向新版
ln -s /etc/pki/tls/bin/openssl /usr/bin/openssl
ln -s /etc/pki/tls/include/openssl /usr/include/openssl
配置库文件
ln -sf /etc/pki/tls/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -sf /etc/pki/tls/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
配置文件生效
echo "/etc/pki/tls/lib64" >> /etc/ld.so.conf
ldconfig -v
openssl 这里已经升级完成,通过openssl version -a 可以查看下当前openssl的版本信息:
6.openssh安装
tar -zxvf openssh-9.0p1.tar.gz cd openssh-9.0p1 mv /etc/ssh /etc/ssh.bak //备份配置文件 ./configure --prefix=/usr/local/openssh9.0 --sysconfdir=/etc/ssh/ --with-md5-passwords --mandir=/usr/share/man --with-zlib --with-pam --with-ssl-dir=/etc/pki/tls/ make && make install
安装完成后通过这个命令检测一下配置文件:
/usr/local/openssh9.0/sbin/sshd -t -f /etc/ssh/sshd_config
修改配置文件:
echo "X11Forwarding yes" >> /etc/ssh/sshd_config echo "X11UseLocalhost no" >> /etc/ssh/sshd_config echo "XAuthLocation /usr/bin/xauth" >> /etc/ssh/sshd_config echo "UseDNS no" >> /etc/ssh/sshd_config echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config echo 'KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1' >> /etc/ssh/sshd_config
更新备份ssh相关执行脚本:
mv /usr/sbin/sshd /usr/sbin/sshd20220825.bak cp -rf /usr/local/openssh9.0/sbin/sshd /usr/sbin/sshd mv /usr/bin/ssh /usr/bin/ssh20220825.bak cp -rf /usr/local/openssh9.0/bin/ssh /usr/bin/ssh mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen2022-08-25.bak cp -rf /usr/local/openssh9.0/bin/ssh-keygen /usr/bin/ssh-keygen
更换sshd的启动脚本:
rm -rf /usr/lib/systemd/system/sshd.service
在解压的openssh安装包目录下执行:
cp contrib/redhat/sshd.init /etc/init.d/sshd
最后再执行:
systemctl enable sshd.service systemctl daemon-reload systemctl restart sshd