日期:2014-05-16  浏览次数:20791 次

linux下升级openssh
查询是否安装telnet
#  rpm -qa | grep telnet
telnet-server-0.17-31.EL4.5
telnet-0.17-31.EL4.5

打开telnet服务
修改设置文件/etc/xinetd.d/telnet中disable字段改为no。
启动服务#ntsysv或#service xinetd restart。
创建登陆用户
因为不能直接root telnet登陆,所以创建一个登陆用户.安转完成后可以把该用户删除
useradd opensshinstall
(删除用户及/home/sshinstall目录  userdel -r sshinstall   删除这个用户的组groupdel sshinstall)

安装源文件在/usr/local/src目录下
zlib和openssl安装在/usr/local目录下

安装zlib-1.2.5
#tar -zxvf zlib-1.2.5.tar.gz
#cd zlib-1.2.5
#./configure --prefix=/usr/local/zlib-1.2.5 -share
#make
#make test
#make install
cp libz.a /usr/local/zlib-1.2.5/lib
cp libz.so.1.2.5 /usr/local/zlib-1.2.5/lib
cd /usr/local/zlib-1.2.5/lib; chmod u=rw,go=r libz.a
cp zlib.3 /usr/local/zlib-1.2.5/share/man/man3
chmod 644 /usr/local/zlib-1.2.5/share/man/man3/zlib.3
cp zlib.pc /usr/local/zlib-1.2.5/lib/pkgconfig
chmod 644 /usr/local/zlib-1.2.5/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /usr/local/zlib-1.2.5/include
chmod 644 /usr/local/zlib-1.2.5/include/zlib.h /usr/local/zlib-1.2.5/include/zconf.h
#vi /etc/ld.so.conf    配置库文件搜索路径
include ld.so.conf.d/*.conf
##add 2010.7.7
/usr/local/zlib-1.2.5/lib
##add end
#ldconfig -v       刷新缓存文件/etc/ld.so.cache
#ln -s /usr/local/zlib-1.2.5 /usr/local/zlib


安装openssl
#cd /usr/local/src
#tar zxvf openssl-1.0.0a.tar.gz
#cd openssl-1.0.0a
#./config shared zlib-dynamic --prefix=/usr/local/openssl-1.0.0a --with-zlib-lib=/usr/local/zlib-1.2.5/lib --with-zlib-include=/usr/local/zlib-1.2.5/include
#make
#make test (这一步是进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出原因,否则一味继续可能导致 SSH 不能使用!)
#make install
#vi /etc/ld.so.conf      配置库文件搜索路径
############################################
## add below line to ld.so.conf
/usr/local/openssl-1.0.0a/lib                    64位OS 没有生成lib目录,是lib64目录
############################################
#ldconfig -v       刷新缓存文件/etc/ld.so.cache
#ln -s /usr/local/openssl-1.0.0a /usr/local/openssl
vi /etc/profile
###########################################
(add to end of the file)
PATH=/usr/local/openssl/bin:$PATH
export PATH
###########################################

退出,再登录,查看openssl的版本号,以验正是否安装正确
#openssl version -a
OpenSSL 1.0.0a 1 Jun 2010
built on: Wed Jul  7 17:08:07 CST 2010
platform. linux-x86_64
options:  bn(64,64) rc4(1x,char) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
OPENSSLDIR: "/usr/local/openssl-1.0.0a/ssl"



停止并卸载Openssh
1.停止OpenSSH服务
#service sshd stop
2. 查询并卸载openssh
# rpm -qa | grep openssh
openssh-3.9p1-8.RHEL4.24
openssh-askpass-3.9p1-8.RHEL4.24
openssh-clients-3.9p1-8.RHEL4.24
openssh-server-3.9p1-8.RHEL4.24
openssh-askpass-gnome-3.9p1-8.RHEL4.24
#rpm -e openssh-3.9p1-8.RHEL4.24 --nodeps
#rpm -e openssh-clients-3.9p1-8.RHEL4.24 --nodeps
警告/etc/ssh/ssh_config 已存为 /etc/ssh/ssh_config.rpmsave
#rpm -e openssh-askpass-3.9p1-8.RHEL4.24
#rpm -e openssh-server-3.9p1-8.RHEL4.24  --nodeps
#rpm -e openssh-askpass-gnome-3.9p1-8.RHEL4.24
cd /usr/local/src
tar zxvf openssh-5.5p1.tar.gz
cd  openssh-5.5p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl