2024-08-29
linux
00
请注意,本文编写于 197 天前,最后修改于 193 天前,其中某些信息可能已经过时。

目录

下载地址
安装准备(这是前提)
一键脚本
变量版本

https://blog.csdn.net/Y94639997/article/details/141057481

下载地址

openssl:https://ftp.openssl.org/source/old/1.1.1/ openssh:https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/

测试版本 openssl https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz openssh https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

安装准备(这是前提)

查看当前openssh版本,并上传openssl-1.1.1w.tar.gz和 openssh-9.5p1.tar.gz 至 /opt/ 目录

image.png

一键脚本

#!/bin/bash # 安装yum依赖 echo -e "\n \033[33m 安装yum依赖... \033[0m \n" yum -y install gcc make perl zlib zlib-devel pam pam-devel # 备份原有的openssl文件 echo -e "\n \033[33m 开始备份OpenSSL服务文件... \033[0m \n" mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/lib64/openssl /usr/lib64/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak # 解压OpenSSL安装包 echo -e "\n \033[33m 开始解压OpenSSL安装包... \033[0m \n" cd /opt/openssl tar -zxvf openssl-1.1.1w.tar.gz cd openssl-1.1.1w/ mkdir -p /usr/local/openssl # 编译安装OpenSSL echo -e "\n \033[33m 开始初始化、编译、安装OpenSSL服务... \033[0m \n" ./config --prefix=/usr/local/openssl --shared make && make install if [ $? -ne 0 ]; then echo -e "\n \033[30m OpenSSL服务安装失败!!! \033[0m \n" exit 1 else echo -e "\n \033[33m OpenSSL服务安装成功... \033[0m \n" fi # 进行相关使用配置 echo -e "\n \033[33m 开始为OpenSSL服务进行相关配置... \033[0m \n" ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl echo "/usr/local/openssl/lib" >> /etc/ld.so.conf ldconfig # 查看服务是否安装成功 echo -e "\n \033[33m 开始检测OpenSSL服务是否安装成功... \033[0m \n" openssl version openssl version -a # 暂停,询问是否继续安装OpenSSH echo -e "\n \033[33m 是否继续安装OpenSSH服务? (yes/no): \033[0m \n" read user_input if [ "$user_input" == "yes" ]; then # 备份原有的OpenSSH文件 echo -e "\n \033[33m 开始备份OpenSSH服务文件... \033[0m \n" mv /etc/ssh/ /etc/ssh.bak mv /usr/bin/ssh /usr/bin/ssh.bak mv /usr/sbin/sshd /usr/sbin/sshd.bak mv /etc/init.d/sshd /etc/init.d/sshd.bak # 解压OpenSSH安装包 echo -e "\n \033[33m 开始解压OpenSSH安装包... \033[0m \n" cd /opt/ tar -zxf openssh-9.8p1.tar.gz cd openssh-9.8p1/ # 编译安装OpenSSH echo -e "\n \033[33m 开始初始化、编译、安装OpenSSH服务... \033[0m \n" ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd --without-hardening make && make install if [ $? -ne 0 ]; then echo -e "\n \033[30m OpenSSH服务安装失败!!! \033[0m \n" exit 1 else echo -e "\n \033[33m OpenSSH服务安装成功... \033[0m \n" fi # 进行相关使用配置 echo -e "\n \033[33m 开始为OpenSSH服务进行相关配置... \033[0m \n" chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config echo "PermitRootLogin yes" >> /etc/ssh/sshd_config echo "UsePAM yes" >> /etc/ssh/sshd_config cp -pf /opt/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshd chmod +x /etc/init.d/sshd chkconfig --add sshd chkconfig sshd on systemctl restart sshd # 查看服务是否安装成功 echo -e "\n \033[33m 开始检测OpenSSH服务是否安装成功... \033[0m \n" ssh -V systemctl status sshd else echo -e "\n \033[31m 已选择不安装OpenSSH服务。 \033[0m \n" exit 0 fi

变量版本

#!/bin/bash # 定义变量 OPENSSL_VERSION="openssl-1.1.1w" OPENSSH_VERSION="openssh-9.8p1" OPENSSL_DIR="/usr/local/openssl" # 安装yum依赖 echo -e "\n \033[33m 安装yum依赖... \033[0m \n" yum -y install gcc make perl zlib zlib-devel pam pam-devel # 备份原有的openssl文件 echo -e "\n \033[33m 开始备份OpenSSL服务文件... \033[0m \n" mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/lib64/openssl /usr/lib64/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak # 解压OpenSSL安装包 echo -e "\n \033[33m 开始解压OpenSSL安装包... \033[0m \n" cd /opt/openssl tar -zxvf ${OPENSSL_VERSION}.tar.gz cd ${OPENSSL_VERSION}/ mkdir -p $OPENSSL_DIR # 编译安装OpenSSL echo -e "\n \033[33m 开始初始化、编译、安装OpenSSL服务... \033[0m \n" ./config --prefix=$OPENSSL_DIR --shared make && make install if [ $? -ne 0 ]; then echo -e "\n \033[30m OpenSSL服务安装失败!!! \033[0m \n" exit 1 else echo -e "\n \033[33m OpenSSL服务安装成功... \033[0m \n" fi # 进行相关使用配置 echo -e "\n \033[33m 开始为OpenSSL服务进行相关配置... \033[0m \n" ln -s $OPENSSL_DIR/bin/openssl /usr/bin/openssl ln -s $OPENSSL_DIR/include/openssl /usr/include/openssl echo "$OPENSSL_DIR/lib" >> /etc/ld.so.conf ldconfig # 查看服务是否安装成功 echo -e "\n \033[33m 开始检测OpenSSL服务是否安装成功... \033[0m \n" openssl version openssl version -a # 暂停,询问是否继续安装OpenSSH echo -e "\n \033[33m 是否继续安装OpenSSH服务? (yes/no): \033[0m \n" read user_input if [ "$user_input" == "yes" ]; then # 备份原有的OpenSSH文件 echo -e "\n \033[33m 开始备份OpenSSH服务文件... \033[0m \n" mv /etc/ssh/ /etc/ssh.bak mv /usr/bin/ssh /usr/bin/ssh.bak mv /usr/sbin/sshd /usr/sbin/sshd.bak mv /etc/init.d/sshd /etc/init.d/sshd.bak # 解压OpenSSH安装包 echo -e "\n \033[33m 开始解压OpenSSH安装包... \033[0m \n" cd /opt/ tar -zxf ${OPENSSH_VERSION}.tar.gz cd ${OPENSSH_VERSION}/ # 编译安装OpenSSH echo -e "\n \033[33m 开始初始化、编译、安装OpenSSH服务... \033[0m \n" ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=$OPENSSL_DIR --with-privsep-path=/var/lib/sshd --without-hardening make && make install if [ $? -ne 0 ]; then echo -e "\n \033[30m OpenSSH服务安装失败!!! \033[0m \n" exit 1 else echo -e "\n \033[33m OpenSSH服务安装成功... \033[0m \n" fi # 进行相关使用配置 echo -e "\n \033[33m 开始为OpenSSH服务进行相关配置... \033[0m \n" chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config echo "PermitRootLogin yes" >> /etc/ssh/sshd_config echo "UsePAM yes" >> /etc/ssh/sshd_config cp -pf /opt/${OPENSSH_VERSION}/contrib/redhat/sshd.init /etc/init.d/sshd chmod +x /etc/init.d/sshd chkconfig --add sshd chkconfig sshd on systemctl restart sshd # 查看服务是否安装成功 echo -e "\n \033[33m 开始检测OpenSSH服务是否安装成功... \033[0m \n" ssh -V systemctl status sshd else echo -e "\n \033[31m 已选择不安装OpenSSH服务。 \033[0m \n" exit 0 fi
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay