ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ssh升级脚本

ssh升级脚本

原创 Linux操作系统 作者:hellohf123 时间:2021-10-12 11:22:54 0 删除 编辑

案例:

此处我为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博客 ” ,链接:http://blog.itpub.net/70004783/viewspace-2795496/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 基线linux
请登录后发表评论 登录
全部评论

注册时间:2021-08-05

  • 博文量
    46
  • 访问量
    13839