源码编译安装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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通