根据提供的文件信息,本文将详细解析《openssh升级安装手册》中的关键步骤和技术知识点,包括在升级过程前的准备措施,如安装与配置telnet服务作为备用方案;具体升级步骤,涉及备份现有环境、下载安装最新版本的OpenSSH以及相关的编译安装流程;最后是服务重启确保新的OpenSSH配置正确无误。 ### 一、安装telnet 在进行OpenSSH的升级之前,通常会考虑安装telnet服务作为一种预防措施,以防在升级过程中SSH连接中断而导致无法远程管理服务器。 #### 1. 启用telnet服务 - 使用命令`servicexinetd start`来启动telnet服务。 - 若要使telnet服务在系统启动时自动运行,可以使用命令`chkconfig xinetd on`(注意这里的描述提到的命令与实际情况略有出入,实际上应使用`chkconfig`命令来设置服务自启动)。 #### 2. 开启root登录 - 默认情况下,telnet不支持root用户直接登录。为了实现这一功能,需编辑`/etc/xinetd.d/telnet`文件,将`disable`字段由`yes`更改为`no`。 - 接下来,移动`/etc/securetty`文件到其他位置,如`/etc/securetty.old`,这样root用户就可以通过telnet登录了。 - 通过命令`servicexinetd restart`重启telnet服务以应用更改。 #### 3. 测试telnet连接 - 使用`telnet [服务器IP地址]`命令测试连接,无需指定端口号,默认为telnet的23端口。 ### 二、安装openssh新版本 #### 1. 备份 - 在升级之前,首先需要备份现有的OpenSSH相关文件夹和配置文件: ``` mv /etc/ssh /etc/ssh.old mv /etc/init.d/sshd /etc/init.d/sshd.old ``` - 检查系统中安装的openssl版本是否符合要求,使用命令`pm-qa | grep openssl`。如果版本低于1.0.1,则需要重新安装openssl。 #### 2. 查看已安装的rpm文件 - 可以使用命令`rpm -qa | grep openssh`列出所有已安装的OpenSSH相关的rpm包。 #### 3. 卸载当前ssh - 分别执行以下命令以卸载当前安装的OpenSSH及其相关组件,注意替换实际的文件名和版本号: ``` rpm -e --nodeps openssh-5.3p1-94.el6.x86_64 rpm -e --nodeps openssh-clients-5.3p1-94.el6.x86_64 rpm -e --nodeps openssh-askpass-5.3p1-94.el6.x86_64 rpm -e --noscripts openssh-server-5.3p1-94.el6.x86_64 ``` #### 4. 下载安装包 - 下载最新的OpenSSH源代码包,例如`openssh-7.6p1.tar.gz`,可从官方网站`https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/`获取。 #### 5. 编译安装 - 安装依赖包:使用命令`yum install zlib-devel openssl-devel pam-devel gcc -y`安装必要的依赖库。 - 编译安装OpenSSH: ``` ./configure --prefix=/usr/local/openssh/ \ --sysconfdir=/etc/ssh --with-md5-passwords \ --with-pam --with-zlib --with-openssl-includes=/usr \ --with-privsep-path=/var/lib/sshd make make install ``` - 覆盖文件:复制新的OpenSSH服务脚本和其他相关文件到适当的位置,并更新权限: ``` cp -p contrib/redhat/sshd.init /etc/init.d/sshd chmod +x /etc/init.d/sshd chkconfig --add sshd cp sshd_config /etc/ssh/sshd_config cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd cp ssh-keygen /usr/bin/ cp ssh /usr/bin/ssh ``` ### 三、重启服务 - 使用命令`service sshd restart`重启OpenSSH服务,确保新的配置生效。 - 如果遇到错误提示,如`/sbin/restorecon: lstat(/etc/ssh/ssh_host_key.pub) failed: No such file or directory`,则需要检查对应的文件是否存在,并根据需要调整`/etc/rc.d/init.d/sshd`脚本中的相关路径。 通过以上步骤,可以顺利完成OpenSSH的升级安装,同时通过telnet作为备用远程登录方式提高了系统的可用性和安全性。
- 粉丝: 7
- 资源: 28
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助