一、安装gcc,安装之前需要确认CentOS的版本,版本不同安装的gcc也不同:如下图:
二、下载gcc对应的rpm包(依赖包),下载链接http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/,下载所需依赖包及升级包如下:
注:.rpm为依赖包,.gz为升级包
三、使用rpm -ivh *.rpm --nodeps --force安装所有rpm包,如下图:
四、安装完成可以输入gcc -v查看升级版本,如下图:五、编译安装zlib-2.11,解压到当前目录即可,如下图:
./configure --prefix=/usr/local/zlib make && make install
六、编译安装openssl,如下图:
cd openssl-1.1.1g ./config --prefix=/usr/local/ssl -d sharedmake && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v
七、升级openssh
cd openssh-8.8p1进入解压目录
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install
八、修改sshd_config文件
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
九、备份原有文件,并将新的配置复制到指定目录
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
十、重启ssh并查看版本、测试
service sshd restart
ssh -V
Ssh root@127.0.0.1
注:免密登,需删除秘钥重新登录 cd /root/.ssh vi kn_hosts