案例:
此处我为centos7.8原版本
[root@prod ~]# ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
升级后版本
[root@prod ~]# ssh -V OpenSSH_8.6p1, OpenSSL 1.1.1k 25 Mar 2021
前提, 配置好yum源,其余可根据实际情况修改
内网搭建yum源服务器可以参考 http://blog.itpub.net/70004783/viewspace-2790196/
[root@prod ~]# cat ssh8.6_linux7.sh #!/bin/bash # 手动上传安装包 至 /opt目录 curl -o /opt/openssh-8.6p1.tar.gz http://192.168.1.200/file/openssh-8.6p1.tar.gz curl -o /opt/openssl-1.1.1k.tar.gz http://192.168.1.200/file/openssl-1.1.1k.tar.gz curl -o /opt/zlib-1.2.11.tar.gz http://192.168.1.200/file/zlib-1.2.11.tar.gz cd /opt # 解压安装包,安装包解压到/usr/local/src tar xf openssh-8.6p1.tar.gz -C /usr/local/src/ tar xf openssl-1.1.1k.tar.gz -C /usr/local/src/ tar xf zlib-1.2.11.tar.gz -C /usr/local/src/ # 安装zlib-1.2.11.tar.gz yum -y install gcc gcc-c++ kernel-devel cd /usr/local/src/zlib-1.2.11/ ./configure --prefix=/usr/local/zlib && make -j 4 && make install # 安装 openssl-1.1.1k.tar.gz cd /usr/local/src/openssl-1.1.1k/ ./config --prefix=/usr/local/ssl -d shared make -j 4 && make install echo '/usr/local/ssl/lib' >> /etc/ld.so.conf ldconfig -v # 安装openssh-8.6p1.tar.gz mv /etc/ssh /etc/ssh.bak cd /usr/local/src/openssh-8.6p1/ ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib make -j 4 && make install # 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 # 备份 /etc/ssh 原有文件,并将新的配置复制到指定目录 mv /usr/sbin/sshd /usr/sbin/sshd.bak &>/dev/null cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd mv /usr/bin/ssh /usr/bin/ssh.bak &>/dev/null cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak &>/dev/null cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen # 启动 sshd 并将其加入开机自启 systemctl stop sshd.service &>/dev/null rm -rf /lib/systemd/system/sshd.service systemctl daemon-reload cp /usr/local/src/openssh-8.6p1/contrib/redhat/sshd.init /etc/init.d/sshd /etc/init.d/sshd restart chkconfig --add sshd systemctl status sshd| grep "Active: active (running)" if [ $? -eq 0 ]; then echo -e "\033[32m[INFO] OpenSSH upgraded to 8.6p1 successfully!\033[0m" else echo -e "\033[31m[ERROR] OpenSSH upgraded to 8.6p1 faild!\033[0m" fi [root@prod ~]#
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70004783/viewspace-2795496/ ,如需转载,请注明出处,否则将追究法律责任。