本地安装 SSL 和 SSH 说明文档
本指南适用于无 apt 工具的环境,详细介绍如何安装和升级 SSL(OpenSSL)和 SSH(OpenSSH),包括安装步骤、配置方法及常见问题解决方案。
1. 操作系统
• 系统版本:Debian GNU/Linux 9 (stretch)
2. 所需资源
请提前准备以下文件并上传至服务器的 tmp 目录:
- zlib:
- OpenSSL:
下载地址:cdn.openbsd.org/pub/OpenBSD…
- OpenSSH:
下载地址:cdn.openbsd.org/pub/OpenBSD…
3. 安装步骤
3.1 安装 zlib
-
解压安装包:
tar -xvzf zlib-1.2.13.tar.gz
cd zlib-1.2.13
-
编译和安装:
./configure --prefix=/usr/local
make
sudo make install
-
验证安装:
ls /usr/local/lib | grep zlib
3.2 安装 OpenSSL
步骤 1:清理旧版本
-
检查是否存在旧版本:
openssl version
-
若存在手动安装的旧版本,移除旧版 OpenSSL:
sudo rm -rf /usr/local/openssl
- 确保环境变量中未包含旧版本路径:
编辑 ~/.bashrc 并删除相关路径:
nano ~/.bashrc
然后重新加载环境变量:
source ~/.bashrc
步骤 2:安装 OpenSSL
-
解压安装包:
tar -xzvf openssl-3.0.12.tar.gz
cd openssl-3.0.12
-
配置编译选项:
./Configure --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
-
编译和安装:
make -j$(nproc)
sudo make install
-
配置环境变量:
echo 'export PATH=/usr/local/openssl/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/openssl/lib64:/usr/local/openssl/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
-
验证安装:
openssl version
输出应为 OpenSSL 3.0.12。
-
更新动态链接库缓存:
sudo ldconfig
3.3 安装 OpenSSH
步骤 1:清理旧版本
若系统已安装旧版本 OpenSSH,可通过以下命令清理:
sudo apt-get remove --purge openssh-server openssh-client
sudo rm -rf /usr/local/sbin/sshd /usr/local/bin/ssh /usr/local/libexec/ssh*
sudo rm -rf /usr/local/etc/ssh /etc/ssh /var/empty
步骤 2:安装新版本
-
解压安装包:
tar -xzf openssh-9.9p1.tar.gz
cd openssh-9.9p1
-
配置编译选项:
./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/lib
make
sudo make install
-
配置环境变量:
export PATH=/usr/local/openssh/bin:$PATH
echo 'export PATH=/usr/local/openssh/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
-
验证安装:
ssh -V
输出应为:OpenSSH_9.9p1, OpenSSL 3.0.12
步骤 3:启动 SSH 服务
-
复制配置文件:
sudo cp /usr/local/openssh/etc/sshd_config /etc/ssh/
-
启动服务:
sudo /usr/local/openssh/sbin/sshd
-
验证服务是否运行:
ps aux | grep sshd
4. 常见问题与解决方案
问题 1:编译 OpenSSH 时报错
报错信息:
checking OpenSSL header version... failed
configure: error: OpenSSL version test program failed.
原因:安装 OpenSSL 后,动态链接库路径未正确配置。
解决方法:
-
创建新的动态链接库配置文件:
echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl.conf
-
更新动态链接库缓存:
sudo ldconfig
-
验证链接:
ldd /usr/local/openssl/bin/openssl
输出应包含 libssl.so.3。
问题 2:Host Key 指纹冲突
报错信息:
The authenticity of host ... can't be established.
解决方法:
删除本地 ~/.ssh/known_hosts 中的冲突条目,然后重新连接。
问题 3:SSH 服务启动失败
报错信息:Privilege separation user sshd does not exist
解决方法:
添加 sshd 用户:
sudo useradd -r -d /var/empty -s /usr/sbin/nologin sshd
通过上述步骤,可完成 SSL 和 SSH 的本地安装及升级,确保系统安全性和功能兼容性得到提升。