2024年6月6日发(作者:)

OpenSuse Linux11升级Openssh6.7笔记

(作者:爱在深秋 于2014年10月26日)

本实验的目的是将OpenSuse Linux11自带的Openssh从5.1版本升级到最新的6.7

版,以解决低版本存在的漏洞。升级采用远程telnet登录服务器的方法。因此需要停止系

统的SSH服务,只能先安装Telnet服务来进行远程操作,升级结束后应停止Telnet服务。

一、安装Telnet服务

1.下载安装telnet

先不停止SSH,远程登录后,检查系统是否安装Telnet服务。

表示系统只安装了客户端,没有安装服务器端。因此需要我们安装服务器端。先检查

系统版本,好到网站上下载相应的安装包。

此时我们到

载/linux/rpm2html/?query=telnet-server

telnet-server安装包。

—1—

我下载的是专门针对OpenSuseLinux64的telnet-server-1.2-149.1.x86_。

下载完成后,上传到服务器。执行:

显示100%表示安装完成,再次用chkconfig命令检查发现telnet已经安装成功,只

是服务没有启动。

2.配置telnet服务

Telnet服务一般是通过xinetd服务进行启动和停止的。先检查/etc/xinetd.d/telnet

文件。

#vi /etc/xinetd.d/telnet

显示为:

—2—

我们主要关注disable=yes这一句。为yes的时候,说明telnet服务不通过xinetd

服务启动和停止;为no或者没有disable配置项目的时候,说明telnet服务通过xinetd

服务启停。因为我们要通过xinetd服务管理,所以设置为disable=no,然后保存退出。

修改后的内容为:

另外,由于telnet监听的23端口被网管中心限制,但FTP使用的21端口是开放的。

刚好我的服务器不使用FTP服务,因此将telnet的监听端口修改为21。主要是通过修改

/etc/services这个文件实现的。

#vi /etc/services

—3—

找到telnet(上图中的红圈处),将23修改为21,然后保存退出。这样就将telnet

的监听端口修改为21了。注意,如果你的服务器提供FTP服务,这样修改可能会与FTP

服务冲突,请自行修改空闲且开放的端口号。

3.启动telnet服务

#service xinetd start

看到这个提示后表示telnet服务成功启动了。

二、升级Openssh6.7

先检查原来系统自带的openssh、openssl、zlib的版本,分别用到如下的命令:

—4—

现在我们需要将openssh升级到6.7,openssl升级到1.0.1j,zlib升级到1.2.8版。

1.升级zlib

先到/zlib/下载最新的安装包,并上传到服务

器,并解压。

#tar –zxvf

#./configure - -prefix=/usr/local/zlib

#make

#make install

以上命令是将zlib安装到/usr/local/zlib目录。

2.升级openssl到1.0.1j版本

—5—

先到/下载最新的,上传到安装服务器

并解压。

#tar –zxvf

#cd openssl-1.0.0.j

#./config –prefix=/usr shared zlib Operatingsystem: x86_64-whatever-linux2

#./config –prefix=/usr --shared

一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl

的library, 会报错: openssl的 header和library版本不匹配

#make

#make test

#make install

make test(这一步很重要哦!是进行 SSL 加密协议的完整测试,如果出现错误就要

一定先找出哪里的原因,否则一味继续,可能最终导致 SSH 不能使用,后果很严重的!)

#openssl version –a

—6—

此时Openssl已是最新的1.0.1j版了。

3. 安装升级openssh6.7

安装新版之前先检测一下系统原来的版本,然后将其删除。

删除完成后,到官方网站下载最新的,上传到服务器并解压缩。

#tar –zxvf

#./configure --prefix=/usr --with-zlib=/usr/local/zlib --with-md5-passwords

#make

#make install

—7—

以上安装方法是将openssl安装到/usr目录下,配置文件是/usr/etc/sshd_config。

安装结束后,可以进行一次测试。

此时可以用windows下的客户端(例如Putty)进行连接测度,如果成功则可以进行

下面的配置。

从图上可以看到,远程连接测试成功。执行如下命令:

—8—

#service sshd start

提示没有sshd这个服务。下面我们将其添加到service服务中进行管理。

进入用openssh6.7的源文件目录,即之前解压的目录,执行:

# cp -p contrib/suse/ /etc/init.d/sshd(suse系统)

#cp –p contrib/redhat/ /etc/init.d/sshd (redhat系统)

# chmod +x /etc/init.d/sshd

# chkconfig --add sshd

实际操作如下:

可以看到,openssh已经升级成功,服务也启动成功了。可以远程登录一下,如果登

—9—

录成功,就一切OK了。

需要注意的是,这种安装方法的Openssh的配置文件是在/usr/etc/sshd_config中,

如果要修改配置,请vi /usr/etc/sshd_config即可。

—10—