编译安装 OpenSSL
-
下载 OpenSSL 源代码:
bashwget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
这个命令从 OpenSSL 的官方网站下载指定版本(1.1.1w)的源代码压缩包。
-
解压源代码:
bashtar zxvf openssl-1.1.1w.tar.gz
使用
tar
命令解压下载的压缩包。 -
编译和安装:
bashcd /usr/local/openssl-1.1.1w chmod +x ./config ./config --prefix=/usr/local/openssl/ --openssldir=/usr/local/openssl/ shared make && make install
- 切换到解压后的目录。
- 赋予
config
脚本执行权限。 - 配置 OpenSSL 的安装路径和选项,然后编译和安装。
-
更新系统 OpenSSL 链接:
bashmv /usr/bin/openssl /usr/bin/openssl.bak ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl
- 将系统默认的 OpenSSL 命令重命名(备份)。
- 创建符号链接,使新安装的 OpenSSL 和其头文件成为系统默认使用的版本。
-
配置系统库链接:
bashecho '/usr/local/openssl/lib' >> /etc/ld.so.conf.d/ssl.conf ldconfig
- 将新 OpenSSL 的库路径添加到系统的库配置文件中,以便系统能找到这些库。
- 更新系统的动态链接器缓存。
6.设置环境变量:
bash
export LDFLAGS="-L/usr/local/openssl/lib"
export CPPFLAGS="-I/usr/local/openssl/include"
- 通过设置这两个环境变量,编译器和链接器在编译和链接过程中会在指定的路径中查找所需的库和头文件,以确保编译和链接顺利进行。
编译安装 OpenSSH
-
下载 OpenSSH 源代码:
bashwget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz
从 OpenBSD 的官方网站下载指定版本(9.6p1)的 OpenSSH 源代码压缩包。
-
解压源代码:
bashtar zxvf openssh-9.6p1.tar.gz
使用
tar
命令解压下载的压缩包。 -
安装依赖:
bashsudo yum install automake
安装编译 OpenSSH 所需的依赖。
-
编译和安装:
bashcd /usr/local/openssh-9.6p1 autoreconf -i chmod +x ./configure ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd make && make install
- 切换到解压后的目录。
- 准备编译环境。
- 配置 OpenSSH 的安装路径和选项,然后编译和安装。
配置 SSH 服务
- 配置 SSHD:
bash
cd /etc/ssh/
chmod 600 ssh host *
chmod 644 *pub
- 修改
/etc/ssh/sshd_config
文件,设置 SSH 服务的端口号(默认为 22),允许密码认证和 root 用户登录。
-
调整 SELinux 策略(如果适用):
bashsudo setenforce 0
临时将 SELinux 设置为宽容模式,以避免 SELinux 阻止 SSHD 的某些操作。
-
重启 SSHD 服务:
bashsystemctl restart sshd
应用配置更改并重启 SSH 服务。
注意事项
- 在执行这些操作之前,确保您有足够的权限(可能需要
root
权限)。 - 在生产环境中,直接从源代码编译安装软件会使得管理和维护变得更加复杂。请确保您了解这些操作的影响,并定期检查和应用安全更新。
- 在编译 OpenSSL 和 OpenSSH 之前,确保您的系统满足所有依赖项的要求,可能需要安装额外的开发工具和库。
- 在修改系统默认的 OpenSSL 和 SSH 版本时,请谨慎行事,错误的操作可能导致系统服务受影响。