编译升级openssl和openssh版本脚步

复制代码
#!/bin/bash

build_dir=/data/project_build
openssl_download=https://www.openssl.org/source/openssl-1.1.1m.tar.gz
openssh_download=https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
[ -d $build_dir ]|| mkdir -p $build_dir

yum install zlib-devel wget openssl-devel pam-devel gcc make perl zlib zlib-devel pam pam-devel -y

#下载编译包
cd  $build_dir
wget $openssh_download
wget $openssl_download --no-check-certificate

tar xf openssl*.tar.gz
cd openssl*
openssl_version=`pwd|awk -F'/' '{print $NF}'`
./config --prefix=/usr/local/${openssl_version}
make && make install
ln -s /usr/local/${openssl_version} /usr/local/openssl
mv /usr/bin/openssl /usr/bin/openssl_old
#mv  /usr/include/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

openssl version

##openssh

cd  $build_dir

#备份
mkdir /etc/ssh_old
mv /etc/ssh/* /etc/ssh_old/
cp -r /etc/sysconfig/sshd /etc/sysconfig/sshd.bak


###停止ssh服务,并卸载原有的openssh###
systemctl stop sshd
systemctl is-active sshd
#rpm -e --nodeps `rpm -qa | grep openssh`
yum -y remove openssh-clients openssh openssh-server


#编译安装
tar xf openssh*.tar.gz
cd openssh*
openssh_version=`pwd|awk -F'/' '{print $NF}'`

./configure --prefix=/usr/local/${openssh_version} --sysconfdir=/etc/ssh    --with-zlib  --with-ssl-dir=/usr/local/openssl   --with-md5-passwords   --with-pam   --with-ssl-engine  

make && make install

ln -s /usr/local/${openssh_version} /usr/local/openssh

#修改配置等
cp ${build_dir}/${openssh_version}/contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd
sed -i 's/Subsystem/#Subsystem/g' /etc/ssh/sshd_config
echo 'Subsystem sftp /usr/local/openssh/libexec/sftp-server'>> /etc/ssh/sshd_config
sed -i 's/#PasswordAuthentication\ yes/PasswordAuthentication\ yes/g' /etc/ssh/sshd_config
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config


#创建软连接
ln -s /usr/local/openssh/sbin/sshd /sbin/sshd
ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
ln -s /usr/local/openssh/bin/ssh-add /usr/bin/ssh-add
ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
ln -s /usr/local/openssh/bin/ssh-keyscan /usr/bin/ssh-keyscan
ln -s  /usr/local/openssh/bin/scp    /usr/bin/scp

ssh -V

chkconfig sshd on
systemctl restart sshd
复制代码

 

posted @   巽逸  阅读(139)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2021-01-14 阿里云ECS获取信息的相关接口
2019-01-14 rsync: chgrp "/.hosts.NBCxBB" (in test) failed: Operation not permitted (1)
2019-01-14 Docker入门与实践
点击右上角即可分享
微信分享提示