服务器升级步骤:

1.      升级ssh,为防止中间失败而关闭ssh服务,这时候需要使用telnet服务。操作如下:

1.1  安装之前先检测是telnet软件包已安装,方法如下:

执行操作

[root@wljs root]#rpm –q telnet-server

如果没有检测到软件包,需要进行安装,只要安装telnet-server软件包即可。

1.2  通过ftp上传安装包:telnet-server-0.17-39.el5.i386.rpm

1.3  安装软件包:

进入安装包目录执行以下操作:

[root@wljs root]#rpm –i telnet-server-0.17-39.el5.i386.rpm

如果碰到Header V3 DSA signature: NOKEY, key ID e8562897提示

解决 V3 DSA signature: NOKEY 问题:

执行以下命令

[root@wljs root]#rpm --import RPM-GPG-KEY-CentOS-5

1.4  启动telnet服务:

编辑 /etc/xinetd.d/telnet

执行操作:

[root@test root]# vi /etc/xinetd.d/telnet

找到 disable = yes<==就是改这里,将 yes 改成 no!服务预设是关闭的

1.5  激活telnet服务:

telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然也就可以被激活。

执行操作:

[root@wljs root]# service xinetd restart

1.6  telnet 服务已经激活,但是telnet服务默认是只允许普通用户的,root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的。这时可以采用两种方式进入root用户:1.开放root用户可以telnet;2.进入普通用户,然后切换到root用户。我们采用第二种方式。

1.7  经查看贵阳服务器没有其他用户,需要建立一个临时用户,工作完成后删除临时用户。建立临时用户过程:

1)  先创建一个临时用户组:tempgroup

执行操作:

[root@wljs root]# groupadd tempgroup

2)  再创建用户:tempuser

执行操作:

[root@wljsroot]# useradd -d /home/tempuser -g tempgroup tempuser

3)  为用户设置密码

执行操作:

[root@wljs root]# passwd tempuser

然后两次输入密码:123qwe

完成后密码设置成功。

4)  通过telnet连接服务器,使用用户tempuser进入

执行操作:

[root@wljs root]# su root

然后输入密码,成功进入,telnet安装成功。

2.      升级openssl
2.1      用ftp上传openssl安装包openssl-0.9.8k.tar.gz
2.2      安装openssl,在安装包目录下执行:
[root@wljs root]# tar xzvf openssl-0.9.8k.tar.gz
[root@wljs root]# ./config shared (一定要带共享参数哦)
[root@wljs root]# make
[root@wljs root]# make test         (这一步是进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出原因,否则一味继续可能导致 SSH 不能使用!)
[root@wljs root]# make install

完成后提示:

util/opensslwrap.shversion -a
OpenSSL0.9.8k 25 Mar 2009
built on:Tue Nov 13 09:57:22 CST 2012
platform:linux-x86_64
options:  bn(64,64) md2(int) rc4(8x,int)des(idx,cisc,16,int) idea(int) blowfish(ptr2) 
compiler:gcc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN-DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_BN_ASM_MONT-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM
OPENSSLDIR: "/usr/local/ssl"

默认安装在了/usr/local目录下

2.3      替换系统旧版本的ssl

[root@wljs root]# find / -name openssl
[root@wljs root]# /usr/bin/openssl(原来的)
[root@wljs root]# /usr/lib/openssl(原来的)
[root@wljs root]# /usr/local/ssl/bin/openssl(新的)
[root@wljs root]# /usr/local/ssl/include/openssl(新的)

下面开始替换旧文件

[root@wljs root]# mv /usr/bin/openssl /usr/bin/oldopenssl
[root@wljs root]# mv /usr/lib/openssl /usr/lib/oldopenssl
 
[root@wljs root]# rm -rf /usr/lib/libcrypto.so
[root@wljs root]# rm -rf /usr/lib/libssl.so
 
[root@wljs root]# ln -s /usr/local/ssl/lib/libcrypto.so.0.9.8/usr/lib/libcrypto.so
[root@wljs root]# ln -s /usr/local/ssl/lib/libssl.so.0.9.8/usr/lib/libssl.so
 
[root@wljs root]# ln /usr/local/ssl/bin/openssl /usr/bin/openssl
 
[root@wljs root]# mkdir /usr/lib/openssl
[root@wljs root]# cp -r /usr/local/ssl/lib/* /usr/lib/openssl
 
[root@wljs root]# echo /usr/local/ssl/lib >> /etc/ld.so.conf
[root@wljs root]# ldconfig -v

         修改完成,查看版本信息,如果是安装的版本说明安装完成

[root@wljs root]# openssl version –a

3.      升级openssh

3.1      通过telnet登录服务器,切换到root用户下

3.2      用ftp上传openssh安装包openssh-5.3p1.tar.gz

3.3      安装openssh,在安装包目录下执行:

[root@wljs root]# tar zxvf openssh-5.3p1.tar.gz
[root@wljs root]# ./configure--with-ssl-dir=/usr/local/ssl --with-zlib --with-pam --with-md5-passwords

如果提示configure: error: PAM headers not found错误,那么需要安装pam和pam-devel,执行如下语句

[root@wljs root]# yuminstall pam pam-devel

完成后再执行如下语句

[root@wljs root]# ./configure--with-ssl-dir=/usr/local/ssl --with-zlib --with-pam --with-md5-passwords

如果提示:

PAM isenabled. You may need to install a PAM control file

for sshd,otherwise password authentication may fail.

ExamplePAM control files can be found in the contrib/

Subdirectory

就可以继续了。

[root@wljs root]# make
[root@wljs root]# make install

3.4      配置ssh

这样就完成了整个升级SSH 的工作,在升级完成后,我们还需要修改一下 OpenSSH 的配置文件进一步提升安全性。

通过以上步骤完成的升级工作,OpenSSH 的配置文件在 /etc/ssh 下,其中 SSH Server 的配置文件是 sshd_config。

[root@wljs root]# vi /etc/ssh/sshd_config

找到:

CODE:
#Protocol 2,1

 

修改为:

CODE:
Protocol 2

3.5      设置自动启动

查看是否自动启动

[root@wljs root]# chkconfig --list | grep ssh
sshd            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

说明已经自动启动,如果未执行自动启动,则需要设置自动启动

[root@wljs root]# chkconfig –add sshd

 

重新启动ssh

[root@wljs root]# service sshd restart

4.      关闭telnet服务

4.1      使用ntsysv,把telnet服务勾去掉。

4.2      编辑

[root@wljs root]# vi/etc/xinetd.d/telnet

把disable项改为yes,即disable =yes

然后运行

[root@wljsroot]#service xinetd restart

就可以关闭掉了

5.      删除临时用户

[root@wljs root]# usermod –G tempgroup tempuser
[root@wljs root]# userdel tempuser
[root@wljs root]# groupdel tempgroup

 

 

至此openssh升级完毕