首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
中国IT实验室Linux频道
中国IT教育
首页 新手入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> 网络管理 >> Linux服务器 >> 文章正文

Linux服务器中OpenSSH的源码编译与升级

文章来源中国IT实验室收集整理 作者佚名 更新时间2008-4-21 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

    一。AS4 升级步骤

    1.建议使用源码安装方式,下载安装包

    cd /root

    wget -c "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz"

    tar zxvf openssh-5.0p1.tar.gz

    cd openssh-5.0p1

    2.升级请确认Zlib和OpenSSL的版本:

    openssh-5.0p1要求Zlib的版本在1.2.1.2以上,OpenSSL版本在0.9.6以上。下面是Zlib和 OpenSSL的官方地址:

    http://www.gzip.org/zlib/

    http://www.openssl.org/

    注意: OpenSSL 0.9.5a属于可接受的版本,但是在使用SSH protocol 1 时,一些加密功能可能会出现问题(出于安全考虑,建议使用SSH protocol 2)。详见INSTALL文档。

    3.编译常用的参数——prefix=和——sysconfdir=,省略以上参数,默认的ssh将安装在 /usr/local/bin下,sshd装在/usr/local/sbin,sftp-server装在/usr/local/libexec/sftp-server,配置文件在/usr/locale/etc下。

    。/configure ——sysconfdir=/etc/ssh

    make

    make install

    4.对比安装默认和当前配置文件,个别重要参数请务必修改

    diff sshd_config /etc/ssh.bak/sshd_config

    5.配置文件推荐设置

    确认/usr/local/libexec/sftp-server路径是否正确

    6.检查配置文件的正确性

    grep -v ^# /etc/ssh/sshd_config | awk '{print $1}' | sort | uniq -d

    是否有重复的行

    /usr/local/sbin/sshd -t

    参数是否正确

    7.添加/etc/init.d脚本和service服务

    先备份原来的脚本cp /etc/init.d/sshd /etc/init.d/sshd.bak

    主要是修改ssh-keygen和sshd的路径。PID文件也作相应修改,避免跟之前的sshd有冲突,这样就能够在保证原有sshd不受影响的情况下配置新的sshd服务。修改下面三项:

    原来:

    KEYGEN=/usr/bin/ssh-keygen

    SSHD=/usr/sbin/sshd

    PID_FILE=/var/run/sshd.pid

    改成:

    KEYGEN=/usr/local/bin/ssh-keygen

    SSHD=/usr/local/sbin/sshd

    PID_FILE=/var/run/sshd2.pid

    添加service服务:

    /sbin/chkconfig ——add sshd

    8.重起sshd服务

    注意:启动新的sshd服务前,先临时修改sshd_config里的端口,避免跟原有ssh端口冲突。

    /sbin/service sshd start

  >/root/.ssh/known_hosts

    用ssh登陆测试,如果能正常登录就可以换回管理员使用的ssh端口(切换之前还是必须把旧版ssh占用的端口换掉)。

    注意:远程对ssh所做的任何重大修改,必须确保有另外的方式可以登录服务器

    完成所有工作后,把原有的sshd服务关闭。

    /etc/init.d/sshd.bak stop

    ssh升级完成,新版的/usr/local/sbin/sshd将代替旧版的/usr/sbin/sshd

    如果不能登陆,请检查。

[1] [2] 下一页  

【责编:Zenghui】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·Linux Shell编程实用指南
 ·Linux日志分析与管理
 ·揭密Linux内存管理
 ·邮件服务Sendmail应用配置
 ·Linux 安全管理
 ·Linux 下DNS服务器架设攻略
 ·Linux 下的路由的配置与应用
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 ·Linux常用命令全集
 今日更新
 认证培训
 频道精选
 Windows频道导航