#!/bin/bash
echo "安装必备软件"
yum -y install unzip wget
echo "下载软件到指定目录并解压"
cd /usr/local/src/
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
wget --no-check-certificate https://ftp.openssl.org/source/openssl-1.1.1n.tar.gz
tar -zxvf openssl-1.1.1n.tar.gz
tar -zxvf openssh-9.0p1.tar.gz
echo "安装依赖包"
yum -y install perl perl-devel gcc gcc-c++
echo "编译安装openssl-1.1.1n"
cd /usr/local/src/openssl-1.1.1n
./config
make && make install
echo "解决一些链接库的问题"
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/
cp -a libssl.a /usr/local/lib/
cp -a libcrypto.a /usr/local/lib/
echo "查看版本,应该显示的还是原来的版本"
openssl version
echo "查看新安装版本文件的二进制路径"
which openssl
echo "若版本不是新版,需要替换旧版"
cd /usr/bin/
./openssl version
mv openssl openssl102
ln -s /usr/local/bin/openssl /usr/bin/openssl
ls -al openssl*
echo "再次查看版本,应该显示的是新版本"
openssl version
echo "卸载旧版本"
yum erase -y openssl openssl-devel
echo "openssl更新版本完成"
echo "openssl更新版本完成"
echo "openssl更新版本完成"
echo "openssl更新版本完成"
echo "openssl更新版本完成"
echo "查看当前sshd服务"
systemctl status sshd
echo "删除原有配置文件"
cd /etc/
rm -fr ssh
echo "卸载旧版本,不会导致当前远程连接断开"
rpm -qa | grep openssh-*
systemctl stop sshd
yum erase -y openssh-clients openssh-server openssh
echo "查看版本号,完成卸载"
ssh -V
echo "安装依赖包"
yum install -y pam-devel zlib zlib-devel
echo "编译安装新版本ssh"
cd /usr/local/src/openssh-9.0p1
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/include --with-ssl-dir=/usr/local/bin --with-zlib --with-md5-passwords --with-pam
make && make install
echo "查看版本号,完成安装"
ssh -V
echo "设置启动服务"
ls contrib/redhat/sshd.init
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
echo "查看是否有执行权限,若没有,需要 chmod +x 来赋权"
ls -l /etc/init.d/sshd && chmod a+x /etc/init.d/sshd
echo "设置开机启动"
chkconfig --add sshd
/sbin/chkconfig sshd on
echo "启动服务并查看状态"
systemctl start sshd && systemctl status sshd
echo "验证开机启动"
chkconfig --list sshd
echo "为用户设置登录的权限,结尾添加即可"
echo "permitRootlogin yes" >> /etc/ssh/sshd_config
echo "查看openssl版本会提示找不到文件,再次设置ln软连接"
ln -s /usr/local/bin/openssl /usr/bin/openssl
echo "重启服务"
systemctl restart sshd
echo "sshd更新版本完成"
echo "sshd更新版本完成"
echo "sshd更新版本完成"
echo "sshd更新版本完成"
echo "sshd更新版本完成"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-04-22 Docker 容器日志管理
2021-04-22 k8s中节点级别的日志
2021-04-22 k8s中pod的容器日志查看命令
2021-04-22 windows 2012 r2如何开启远程桌面
2020-04-22 偶然间进入一个酒店维修系统后台