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—
发布评论