suse12系统下的OpenSSH_6.2p2升级到OpenSSH_7.3p1

本文档详细介绍了在SUSE12系统上从OpenSSH 6.2p2升级到7.3p1的完整步骤,包括检查依赖、安装OpenSSL、卸载旧版OpenSSH、升级OpenSSH及解决可能出现的错误。升级过程中涉及备份、安装、配置、编译等多个环节,确保系统安全和稳定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          OpenSSH_6.2p2升级到OpenSSH_7.3p1

 

 

OpenSSH_6.2p2升级到OpenSSH_7.3p1 1

前言 2

一:检查依赖软件 3

#安装必要的gcc, gcc-c++编译工具以及libopenssl-devel,pam-devel,zlib-deve 3

二:安装OpenSSL 4

2.1.检查系统自带的openssl 4

2.2.检查openssl版本 4

2.3.检查openssl安装文件以及路径 4

2.4备份上述文件,/usr/bin/X11/openssl为/usr/bin/openssl的软链接 5

2.5安装zlib-1.2.8 5

三:升级openssl 6

3.1安装openssl-fips-2.0.13 6

3.2 检查安装好后的目录文件 6

3.3安装openssl-1.0.2h 7

3.4查看安装好的/usr/local/openssl目录文件 7

3.5 查看/etc/ssl目录 7

3.6配置升级后的openssl的相关目录(链接openssl程序) 8

3.7查看升级的openssl版本 8

四:卸载系统原有的OpenSSH 9

4.1停止sshd服务 9

4.2卸载openssh 9

五:升级OpenSSH 9

5.1安装openssh7.3p1 9

5.2 查看升级后的版本 10

5.3 拷贝sshd启动脚本,contrib/目录下对应系统的启动脚本 10

5.4启动并设置开机启动 10

5.5修改sshd 文件 10

六:升级过程可能会出现的经典错误 11

6.1编译openssh时,出现找不到pam-devel 11

6.2编译过程中出现libpam missing 11

6.3编译过程出现host-key Error 255 12

6.4编译过程中出现错误configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) *** 12

6.5编译openssh依赖的是openssl是老版本 12

6.7升级后ssh无法正常登录 13

 

 

              前言

OpenSSH概念:

OpenSSH是实现远程控制、远程加密传输数据的安全的网络连接工具,也就是为我们提供ssh服务的程序。SSH由服务端和客户端组成,服务端是一个守护进程(sshd),在后台运行并响应客户端的连接请求;客户端包含ssh(openssh-clients)、scp、rsync、slogin、sftp等应用程序。

 SSH服务本身提供了一种安全加密的数据传输方式。在一些比较旧的Linux系统版本中,多数是openssh 5版本。而目前OpenSSH已更新到OpenSSH 7.X版本,修复许多存在的安全漏洞,也是较为安全的版本。OpenSSH官网:http://www.openssh.com

 

系统要求:SUSE Linux Enterprise Server 11 SP2  (x86_64)

安装软件包前提准备:

 

 

### 如何在 SUSE Linux Enterprise Server (SLES) 12 上离线安装或升级OpenSSH 版本 9.9p2 要在 SUSE Linux Enterprise Server (SLES) 12 上离线安装或升级OpenSSH 版本 9.9p2,可以按照以下方法操作: #### 准备工作 确保已经准备好所需的软件包文件 `openssh-9.9p2.tar.gz` 和依赖项(如 OpenSSL 库),并将这些文件复制到目标系统的 `/software/` 或其他指定目录下。 --- #### 升级步骤 ##### 1. 解压源码包 进入存储位置并解压缩 OpenSSH 源代码包: ```bash cd /software/ tar -zxf openssh-9.9p2.tar.gz ``` ##### 2. 编译配置 切换至解压后的目录,并运行编译前的配置脚本。假设系统中已存在自定义安装的 OpenSSL 路径 `/usr/local/openssl`,则可以通过如下命令完成配置: ```bash cd openssh-9.9p2/ ./configure --prefix=/usr/local/openssh \ --sysconfdir=/etc/ssh \ --with-ssl-dir=/usr/local/openssl \ --with-zlib ``` 上述命令指定了安装路径以及 SSL 和 zlib 的依赖库路径[^2]。 ##### 3. 构建与安装 构建项目并进行多核加速编译(例如 `-j 4` 表示使用四个 CPU 核心): ```bash make -j 4 make install ``` 这一步会将新版本的 OpenSSH 安装到之前指定的目标路径 `/usr/local/openssh` 下。 ##### 4. 替换默认 SSH 文件 为了使新的 OpenSSH 成为系统默认使用的版本,需重新链接二进制文件和配置文件: ```bash mv /usr/sbin/sshd /usr/sbin/sshd.old ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd cp /usr/local/openssh/etc/ssh_config /etc/ssh/ssh_config.new cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config.new ``` 注意备份旧版配置以防出现问题[^3]。 ##### 5. 更新服务启动器 修改 systemd 中的服务单元文件以指向新版可执行程序的位置: ```bash sed -i 's#/usr/sbin/sshd#/usr/local/openssh/sbin/sshd#' /usr/lib/systemd/system/sshd.service systemctl daemon-reload ``` 重启 SSHD 服务验证更改是否生效: ```bash systemctl restart sshd.service ``` ##### 6. 验证版本号 通过以下方式确认当前正在运行的是最新版本的 OpenSSH: ```bash /usr/local/openssh/bin/ssh -V ``` 如果显示的结果包含 “OpenSSH_9.9p2”,说明升级成功。 --- #### 注意事项 - 如果遇到权限不足的情况,请尝试加上 `sudo` 命令来获取超级用户权限。 - 确保所替换的新组件不会破坏现有网络连接功能,在测试阶段建议保留原生版本作为回退选项。 - 对于生产环境中的服务器而言,务必先在一个隔离环境中充分测试后再推广部署。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值