百韵网 >>  正文

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

来源:www.baiyundou.net   日期:较早时间
回滚到原来的版本,在虚拟机上测试升级,没问题再升级,做好应急预案。

一、环境描述 1)操作系统:CentOS 65 64位 2)Openssl升级前版本:openssl 098e 3)Openssl升级后版本:openssl 101j(源码安装) 4)Openssh升级前版本:openssh-43p2-41el5 5)Openssh升级后版本:openssh_67p1(源码安装) 6)连接升级openssh出错,求大神指点怎么解决

升级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*

升级版本为:openssh-6.6p1 举个例子,可以参考
  升级方法:
  1、加载本地源(方法不描述了)
  2、执行下列命令
  yum install bash -y
  yum install -y zlib zlib-devel openssl openssl-devel
  tar -zxvf openssh-6.6p1.tar.gz -C /usr/local/src/
  cd /usr/local/src/openssh-6.6p1/
  cp /etc/init.d/sshd /etc/init.d/sshd.old
  tar -cvf ssh.bak.tar /etc/ssh
  yum install gcc -y
  3、卸载老版本
  rpm -qa|grep ssh
  rpm -e openssh-server-5.3p1-81.el6.x86_64
  rpm -e openssh-clients-5.3p1-81.el6.x86_64 --nodeps
  rpm -qa|grep ssh
  rpm -e openssh-askpass-5.3p1-81.el6.x86_64
  rpm -e openssh-5.3p1-81.el6.x86_64
  rpm -qa|grep ssh

相关要点总结:

18833007091:怎么用vnc升级openssh
贡虎答:--prefix=/usr/local --shared这一条命令一定要加上--shared选项,否则openssh编译的时候会找不到新安装的openssl的library,会报错: openssl的 header和library版本不匹配。2)安装openssl时make test这一步是进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出原因,否则一味继续可能导致 SSH 不能...

18833007091:ubuntu 12.04 安装 openssh-server 失败,请问怎么该弄
贡虎答:openssh-server : 依赖: openssh-client (= 1:6.6p1-2ubuntu1)E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。这是因为,openssh-server是依赖于openssh-clien的,那ubuntu不是自带了openssh-client吗?原由是自带的openssh-clien与所要安装的openssh-server所依赖...

18833007091:我新装的电脑,自带的ssh软件安装后,使用出错?
贡虎答:之所以报错是因为OpenSSH 7.0以后的版本不再支持ssh-dss (DSA)算法.解决办法 命令行里添加选项 ssh -oHostKeyAlgorithms=+ssh-dss user@legacyhost 添加HostKeyAlgorithms +ssh-dss到配置~/.ssh/config

18833007091:我的openssh升级后,不能远程其他同局域网内的机器了,如图中192.168.137.1...
贡虎答:这个问题检查一下192.168.137.140这台机器的防火墙设置

18833007091:升级openssh要重启ssh服务吗
贡虎答:把版本升级到openssh6.5后,ssh无法正常登录,机器在重启后ssh不能登录,需用telnet登录后重启ssh服务后,ssh才能正常登录

18833007091:Linux系统下怎么升级OpenSSH
贡虎答:/etc/init.d/sshd restart chkconfig --add sshd chkconfig sshd on chkconfig --list|grep sshd 5、查看是否升级成功 ssh -V OpenSSH_6.6p1, OpenSSL 1.0.0-fips 29 Mar 2010 以上就是Linux系统下怎么升级OpenSSH的介绍了,升级成功了旧版本的一些问题和故障自然就能得到修复了。

18833007091:Lniux Centos系统Openssl和Openssh升级后libcrypto.so.10文件丢失导致...
贡虎答:sshd -t 检查是否正常,如果有报错则针对报错信息处理。

18833007091:centos7.3离线安装telnet用于升级openssh
贡虎答:firewall-cmd --reload ——— 九、检测ssh 可以正常登陆,使用ssh登陆,然后停止telnet服务并移除 systemctl stop telnet.socket systemctl stop xinetd systemctl disable xinetd systemctl disable telnet.socket———

18833007091:OpenSSH相关漏洞如何解决?
贡虎答:答:漏洞扫描设备检测出服务存在如下漏洞:可通过HTTPS获取远端WWW服务版信息,如何解决?高手请指教! 漏洞:可通过HTTP获取远端WWW服务版信息,这个漏洞可以通过增加apache的web服务器的配置文件httpd.conf如下两行: ServerSignature off; ServerTokens P...1. OpenSSH 相关漏洞 解决方案 :升级OpenSSH为...

18833007091:如何升级openssh7.5 suse11sp1
贡虎答:两种方式,以红帽发行版的为例:1、直接rpm包方式:1)直接在线yuminstall2)红帽官网下载对应版本的rpm包,然后rpm-Uvh 2、源码包方式:首先卸载自带的版本,然后到openssh官网下载源码包,解压,编译、安装。

(编辑:本站网友)
相关推荐
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 百韵网