永发信息网

升级openssh出错,求大神指点怎么解决

答案:1  悬赏:20  手机版
解决时间 2021-01-31 16:06
升级openssh出错,求大神指点怎么解决
最佳答案
一、环境描述
1)操作系统:CentOS 6.5 64位
2)Openssl升级前版本:openssl 0.9.8e
3)Openssl升级后版本:openssl 1.0.1j(源码安装)

4)Openssh升级前版本:openssh-4.3p2-41.el5
5)Openssh升级后版本:openssh_6.7p1(源码安装)
6)连接工具SecureCrt
二、安装Dropbear代替OpenSSH

安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统。也可以用其他工具代替,比如telnet

1)下载dropbear安装包
https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2
2)检查安装依赖包

rpm -qa zlib* gcc make
3)编译安装dropbear
# tar jxf dropbear-2014.66.tar.bz2
# cd dropbear-2014.66
# ./configure
# make && make install

检查生成的文件是否正确:

4)生成证书
# /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key (注:系统默认是没有/etc/dropbear 目录的需要自行到创建)
# /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key

5)启动dropbear
# /usr/local/sbin/dropbear -p 2222 //监听2222端口
查看是否启动成功:

三、升级OpenSSL到openssl-1.0.1j,并删除老版本
1)升级前准备
下载openssl-1.0.1j
http://www.openssl.org/source/openssl-1.0.1j.tar.gz
2)删除旧版本

#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
3)安装openssl, 一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配
(注:这里LZ纠结了很久,如果按照步骤执行./config --prefix=/usr --shared 依然报错: openssl的 header和library版本不匹配,很可能是由于之前安装的Openssl也是源码安装的,而且没有删除干净,需要手工搜索ssl相关的文件
1.执行find / -name ssl
2.将搜索结果中/usr/lib /usr/lib64 /lib64 /lib等目录下的结果逐一重命名,千万不要乱删除,逐一尝试。这是个笨办法,目前还没有发现啥比较好的办法。)
# ./config --prefix=/usr --shared
# make
# make test
# make install

完毕后查看openssl版本安装是否正确
# openssl version -a

四、升级sshd到OpenSSH-6.7并删除老版本ssh
1)升级前准备
查看是否缺包

# rpm -qa | egrep "gcc|make|perl|pam|pam-devel"

如果有配置yum了的话可以直接yum安装这些包,这样既可以检验是否装了,没装的直接装上。
yum -y install gcc* make perl pam pam-devel

2)下载openssh-6.7p1.tar.gz
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.7p1.tar.gz
备份ssh :
# mv /etc/ssh /etc/ssh.bak
# openssl version -a

3)编译安装新版本openssh
# tar zxf openssh-6.7p1.tar.gz && 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`

Openssh-askpass是用于图形界面下输入口令的,用不着可以不装
# make install
4)查看是否升级到新版本

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服务才行。

四、删除dropbear。
终端软件里再重新打开一个标签,
在这里Dropbear用来防止升级不成功,用来替代openssh连接服务器。
在开启2222端口(dropbear启动时的端口,可以设置别的 )的情况下,通过xshell连接的方法是:
ssh 192.168.0.1 2222 (192.168.0.1为需要连接的服务器ip)

删除dropbear安装的文件,并杀掉进程
# rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一项工程,甲单独做8天,乙单独做12天,现在
05年的长安之星100公里耗12升油,310公里用32
北京的贷款公司哪家好啊我想做无抵押贷款
捷安特roam rx2和崔克ds8.5都属于混合路面跨
如何利用MATLAB实现哈夫变换检测圆
(24分)市场因素究竟在多大程度上影响经济乃
已知直线y=kx+b与直线y=3x-1交于y轴同一点,
单选题在经过十字路口时,刚好红灯亮着,虽然
我睡觉老喜欢摸老婆的乳房睡觉,对老婆身体有
qq炫舞安装要多久
两个男的再搞一个女的受不了怎么办
解答题阅读材料,结合所学知识回答问题。材料
右转绿灯左转红灯路上没有导流标志开车过了停
第一次科学革命为什么没有出现在中国
20分银行借支卡到哪里办要什么条件可借支多少
推荐资讯
西欧名剪地址好找么,我有些事要过去
一世情缘时尚婚纱摄影(234省道兰陵镇新时代幼
河南省信阳市潢川县开发区金鑫花园单元5号楼2
男友送了一个铂金戒指,算是订婚么
贵州省农村信用社(凉水街与电站路交叉口西北5
临额还清以后还能立马恢复临时额度吗
司钻的意思是什么啊?知道的请说下!
打算和三个朋友合伙注册一个劳务派遣公司,我
梁静茹pk的歌词 急 谢谢啦
怎么问这两句屈心而抑志兮,忍尤而攘诟
重席的意思是什么啊?知道的请说下!
湖北省荆州市新天地楼盘具备交房条件吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?