服务器升级步骤:
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升级完毕