CentOS 6.5 升级 openssh

本文介绍如何将CentOS6.5系统的OpenSSH从版本5.3p1升级到6.6p1,包括卸载旧版、安装依赖库(如zlib和openssl)、编译安装新版OpenSSH及配置服务。

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

摘要
CentOS 6.5默认安装的是 openssh-5.3p1-94,而最新的是 openssh-6.6p1,因此通过源码编译升级到最新openssh。

    最近有空复习了一下Linux,在虚拟机上安装了个CentOS6.5,顺便升级一下系统自带的openssh,任何系统操作都有风险,正式环境请做好备份工作。废话少说,直接贴代码。

    1、准备工作,相应的包自己到官方下载,另外需要下载依赖包openssl以及zlib包。

    openssh下载地址:http://www.openssh.com/portable.html#http

    openssl下载地址:http://www.openssl.org/source/

    zlib下载地址:http://zlib.net/zlib-1.2.8.tar.gz

    

    2、卸载系统自带的openssh,卸载之前先停止sshd服务,再用rpm删除,同时清除系统/etc/ssh目录

[root@CentOS tmp]# service sshd stop
Stopping sshd:                                             [  OK  ] 
[root@CentOS tmp]# rpm -qa openssh
openssh-5.3p1-94.el6.x86_64
[root@CentOS tmp]# rpm -e openssh-server
[root@CentOS tmp]# rpm -e openssh-clients
[root@CentOS tmp]# rpm -e openssh-askpass
[root@CentOS tmp]# rpm -e openssh
[root@CentOS tmp]# rm -rf /etc/ssh

    3、安装zlib

[root@CentOS tmp]# tar -xvf zlib-1.2.8.tar.gz 
[root@CentOS tmp]# cd zlib-1.2.8
[root@CentOS zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install

    4、安装openssl

[root@CentOS tmp]# tar -xvf openssl-1.0.1i.tar.gz 
[root@CentOS tmp]# cd openssl-1.0.1i
[root@CentOS openssl-1.0.1i]# ./config --prefix=/usr/local/openssl && make && make install

    5、安装openssh

[root@CentOS tmp]# tar -xvf openssh-6.6p1.tar.gz
[root@CentOS tmp]# cd openssh-6.6p1
[root@CentOS openssh-6.6p1]# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --without-hardening && make && make install

    6、修改配置文件

[root@CentOS openssh-6.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
[root@CentOS openssh-6.6p1]# chmod +x /etc/init.d/sshd 
[root@CentOS openssh-6.6p1]# vi /etc/init.d/sshd
修改对应指令的安装目录
=============================
25行    SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/openssh/sbin/sshd
41行    /usr/bin/ssh-keygen -A 为 /usr/local/openssh/bin/ssh-keygen -A
=============================
保存退出

    7、加入到系统服务

[root@CentOS openssh-6.6p1]# chkconfig --add sshd
[root@CentOS openssh-6.6p1]# service sshd start

    8、编译中遇到的错误,参考博文http://zjwsk.blog.163.com/blog/static/598306132014313112351/,感谢博主的分享

configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***
CentOS 6.5 系统中升级 OpenSSH 涉及到从源代码编译安装新版 OpenSSH,因为官方仓库通常不会为较旧的发行版提供新版软件包。以下是升级 OpenSSH 的主要步骤: 1. **安装依赖库** OpenSSH 依赖于 `zlib` 和 `OpenSSL` 库,因此需要确保这些组件已安装或升级至兼容版本。 ```bash yum install -y zlib-devel openssl-devel pam-devel ``` 2. **下载并解压 OpenSSH 源码包** 可以从 [OpenSSH 官方网站](https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/) 获取最新的源码压缩包。 ```bash wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz tar -zxvf openssh-9.3p1.tar.gz cd openssh-9.3p1 ``` 3. **配置和编译** 使用以下命令配置并编译 OpenSSH: ```bash ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/include/openssl make make install ``` 此过程将把新版本的 OpenSSH 安装到系统路径 `/usr` 中,并使用默认的配置选项。 4. **备份原有配置文件并替换** 在覆盖原有 SSH 配置前,请备份 `/etc/ssh` 目录下的配置文件,尤其是 `sshd_config`。完成编译安装后,根据需求更新配置文件。 5. **重启 SSHD 服务** 升级完成后,重新启动 `sshd` 服务以应用更改: ```bash service sshd restart ``` 6. **验证升级** 使用以下命令检查当前运行的 OpenSSH 版本: ```bash ssh -V ``` 请注意,在进行升级时务必保持一个备用访问通道(如通过控制台或串口),以防升级过程中出现配置错误导致无法通过 SSH 登录系统。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值