一、环境描述
1)操作系统:redhat6.5 64位
2)Openssl升级前版本:openssl 1.0.1e
3)Openssl升级后版本:openssl 1.0.1j(源码安装)
4)Openssh升级前版本:openssh-5.3p2-41.el5
5)Openssh升级后版本:openssh_6.7p1(源码安装)
6)连接工具xshell 4
二、telnet代替OpenSSH(可选)
开启telnet,并允许root登陆(适用于rhel4.*,rhel5.*,rhel6.*)
使用命令查看已经安装的telnet包(系统默认已经安装)
#rpm -qa | grep telnet
开启telnet服务
#chkconfig telnet on
修改securetty文件
#vim /etc/securetty
添加几个pts
pts/1
pts/1
pts/3
激活telnet
#service xinetd restart
三、升级OpenSSL到openssl-1.0.1j,并删除老版本
1)升级前准备
下载openssl-1.0.1j
/source/openssl-1.0.
2)删除旧版本
#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
3)安装openssl, 一定记得加上--shared选项, 否则openssh编译的时候会不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配
# ./config --prefix=/usr --shared
# make
# make test
# make install
完毕后查看openssl版本安装是否正确
注:老版本低于1.0.1e,那直接安装1.0.1g版本就会出缺失libssl.so.10和libcrypto.so.10库文件的问题,在启动某服务或者直接yum安装等命令都会出现下面问题;且最严重问题是SSH就连接不上了···
解决办法:
1、首先查看/usr/lib64/目录下(如是32位系统那路径就是/usr/lib/)libssl.so库文件的版本,我的是
libssl.so.1.0.0
[root@localhost/]# ll /usr/lib64/libssl.so*
[root@localhost/]# ll /usr/lib64/libssl.so*
-rwxr-xr-x. 1 root root 479012 Apr 9 13:39 /usr/lib64/libssl.so.1.0.0
2、再查看/usr/lib64/目录下
2、再查看/usr/lib64/目录下
[root@localhost/]#ll /usr/lib64/libcrypto.so*
-
rwxr-xr-x. 1 root root 2200149 Apr 9 13:39 /usr/lib64/libcrypto.so.1.0.0
3、创建软链接(ln源就是上面查出的对应版本的库文件):
cd /usr/lib64/
ln -s /usr/lib64/libssl.so.1.0.0 libssl.so.10
ln -s /usr/lib64/libcrypto.so.1.0.0 libcrypto.so.10
注意:系统做roseha双机的时候,双机脚本会影响到这两个库文件的软链接,导致ssh登陆不上,并且sshd服务无法启动。。。。。。。
四、升级sshd到OpenSSH-6.7并删除老版本ssh
1)升级前准备
查看是否缺包
# rpm -qa | egrep "gcc|make|perl|pam|pam-devel"
如果有配置yum了的话可以直接yum安装这些包,这样既可以检验是否装了,没装的直接装上。ssh工具安卓下载
yum -y install gcc* make perl pam pam-devel
2)下载openssh-6.
/pub/OpenBSD/OpenSSH/portable/openssh-6.
备份ssh :
# mv /etc/ssh /etc/ssh.bak
# openssl version -a
3)编译安装新版本openssh
# tar -zxvf openssh-6. && cd openssh-6.7p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
# make
先卸载完旧版本的openssh,再make install
# rpm -qa | grep openssh
# rpm -e `rpm -qa | grep openssh` --nodeps
Openssh-askpass是用于图形界面下输入口令的,用不着可以不装
# make install
4)查看是否升级到新版本
ssh -V
5)复制启动脚本到/etc/init.d
# cp /root/openssh-6.7p1/contrib/RedHat/sshd.init /etc/init.d/sshd
加入开机自启
# chkconfig --add sshd
6)启动sshd,用start或reload。不要restart,restart 会直接断开连接,而并不会接着启动sshd服务,这时候要通过其他途径进入机器,然后启动sshd服务才行。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论