源码编译安装openssh 9.8p1+openssl-3.3.0+zlib-1.3.1

# 创建几个目录备用

mkdir -p /usr/local/zlib/
mkdir -p /usr/local/openssl/
mkdir -p /usr/local/openssh/

 

# 安装编译需要用到的依赖包

yum -y install wget dnf vim gcc gcc-c++ make perl pam-devel tar

 

# 下载相关源码包

cd /root/soft
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz --no-check-certificate &&
wget http://www.zlib.net/zlib-1.3.1.tar.gz &&
wget https://www.openssl.org/source/openssl-3.3.0.tar.gz --no-check-certificate

 

# 解压源码包

tar -zxvf openssl-3.3.0.tar.gz &&
tar -zxvf openssh-9.8p1.tar.gz &&
tar -zxvf zlib-1.3.1.tar.gz

 

#备份SSL

mv /usr/bin/openssl /usr/bin/openssl.bak

 

# 卸载openssh

yum remove openssh openssl

 

#进入zlib解压目录

cd /root/soft/zlib-1.3.1

 

# 预编译

./configure --prefix=/usr/local/zlib/

 

# 编译安装

make && make install

 

# 查看版本

ll /usr/local/zlib/lib

 

#进入openssl解压目录

cd /root/soft/openssl-3.3.0

 

# 预编译

./config --prefix=/usr/local/openssl/ --openssldir=/usr/local/openssl/ shared
# 注意: 实测 openEuler
24.03 LTS SP3 需要开启md2,不然会导致yum等命令失效 ./config enable-md2 --prefix=/usr/local/openssl/ --openssldir=/usr/local/openssl/ shared

 

 

# 编译安装

make -j 4 && make install

 

 

# 创建软连接文件

ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
ldconfig
ln -sf /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
 

 

# 检查版本

openssl version

 

# 进入openssh解压目录

cd /root/soft/openssh-9.8p1

 

# 预编译

./configure --prefix=/usr/local/openssh/ --sysconfdir=/etc/ssh/ --with-openssl-includes=/usr/local/openssl/include/ --with-ssl-dir=/usr/local/openssl/ --with-zlib=/usr/local/zlib/ --with-md5-passwords --without-openssl-header-check

 

# 编译安装

make -j 4 && make install

 

# 创建软连接文件

ln -sf /usr/local/openssh/sbin/sshd /sbin/sshd
ln -sf /usr/local/openssh/bin/ssh /usr/bin/ssh
ln -sf /usr/local/openssh/bin/scp /usr/bin/scp
ln -sf /usr/local/openssh/bin/sftp /usr/bin/sftp
ln -sf /usr/local/openssh/bin/ssh-add /usr/bin/ssh-add
ln -sf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
ln -sf /usr/local/openssh/bin/ssh-keyscan /usr/bin/ssh-keyscan

 

# 配置启动脚本,并设置开机自启动

cp -rf /root/soft/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshd 

cp -rf /root/soft/openssh-9.8p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chkconfig --add sshd 

chkconfig sshd on

 

# 修改配置文件

vim /etc/ssh/sshd_config
PermitRootLogin yes

setenforce 0
vim /etc/selinux/config
SELINUX=disabled

 

# key文件给权限

cd /etc/ssh/
chmod 700 /etc/ssh/*_key

 

# 检查错误和版本

sshd -T
ssh -V

 

posted @   剑小秀  阅读(1636)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示