如何平滑升级openssh,不影响root禁止root用户远程登录录

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 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 &&
先卸载完旧版本的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**本例为一次安全加固中操作示例
操作系统:SUSE SP3
版本:从6.2升级之7.2p1
openssh升级依赖依赖openssl、zlib,从官网下载之
#################openssh升级-
1、备份原配置文件
cp/etc/init.d/sshd
cp/etc/ssh /ssh5bak
2、zlib安装
tar -zxf zlib-1.2.8.tar.gz
//先安装zlib库,否则会报zlib.c错误无法进行
cd zlib-1.2.8
./configure –shared
//这里说明一下以上的–shared参数,shared参数表示使用共享库或者动态库,相对的一种叫做静态库,前者一般后缀位.so,后者一般后缀位.a,linux下常见的库路径为/lib、/lib64、/usr/lib、/usr/lib64. 静态库是将引用库的实际代码也编译进当前编译文件,故高效,后者则比较便利
make && make install
3、安装openssl
tar -zxf openssl-1.0.1.tar.gz
cd openssl-1.0.1
./config shared
make install
mv /usr/bin/openssl /usr/bin/openssl.BACKUP
mv /usr/include/openssl /usr/include/openssl.BACKUP
//如果系统存在此文件可忽略
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
//将新编译的程序使用原有的openssl路径,防止其他调用openssl项异常
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
//移走原openssl,将自己编译产生的新文件进行链接。如不存在可忽略
4、配置库文件搜索路径
echo “/usr/local/ssl/lib” &&/etc/ld.so.conf
//加载新模块
/sbin/ldconfig -v
openssl version -a
//查看新加载模块
5、安装openssh
rpm –qa|grep openssh | rpm -e {} –nodeps
./configure–prefix=/usr/ –sysconfdir=/etc/ssh –with-zlib –with-ssl-dir=/usr/local/ssl
–with-md5-passwords mandir=/usr/share/man
make&&make install
6、为了平滑过度进行一下步骤切换
进入源码包目录,编写shell脚本执行一下内容,脚本在“后台”运行
文件替换前先停止服务
contrib/suse/rc.sshd /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig –add sshd
cp -f -r sshd_config /etc/ssh/sshd_config
//修改root可登录,否则升级后可能root不能登录
/usr/sbin/sshd /usr/sbin/sshd_BACKUP
usr/sbin/ssh /usr/sbin/ssh_BACKUP
cp -f -r sshd /usr/sbin/sshd
ssh /usr/bin/ssh
操作执行完成后在脚本中重启sshd服务
attention01:注意里依赖包版本
attention02:注意使用新安装程序路径与原有程序路径保持一致
attention03:在一次安全加固后出现了sftp不能使用,这种问题一般是ssh加密问题,注意在sshd_config再确认一下加密。
升级openSSH到最新版
升级openSSH到最新版,需要小心谨慎一点,因为,错误操作,有可能造成不能远程登录。最好是,安装到不同的目录,然后再停止旧的ssh服务,启用新的ssh服务。
大致的步骤如下,
编译安装新的openS...
Linux升级openssh及问题总结
升级步骤:
[root@db 1]# yum install pam-devel
[root@db 1]# pwd
[root@db 1]# ls
openssh-7.1p2
主机安全加固--升级openssh及openssl
绿盟漏洞扫描结果:
OpenSSH是SSH协议的开源实现。
OpenSSH的默认服务器配置在管理连接槽的实现上存在拒绝服务漏洞,远程攻击者可利用此漏洞耗尽服务器上连接槽,触发拒绝服...
SUSE Linux openssh漏洞修复笔记
OpenSSH roaming_common.c 堆缓冲区溢出漏洞缓冲区溢出攻击是利用缓冲区溢出漏洞所进行的攻击行动。缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用...
linux 下 OpenSSH的安装和使用
OpenSSH的安装和使用
由于许多网络服务(包括telnet、ftp、http、rsh、rlogin以及其他服务)都可以被电子窃听,我们必须采用安全的方式进行文件移动、权限...
前言:linux openssh漏洞,为修复此漏洞,一般是升级是将openssh升级版本,此步骤为将openssh5.3升级到6.7
(下载地址:http://mirror.internode.on....
详细的涵盖了&em&openssh升级&/em&的全部代码,以及详细的文档介绍... 详细的涵盖了&em&openssh升级&/em&的全部代码,以及详细的文档...linux &em&openssh升级&/em&步骤
&em&SUSE&/em& Linux &em&openssh&/em&漏洞修复...
漏洞扫描不通过,t
1、查看旧版本号
升级openSSH到最新版,需要小心谨慎一点,因为,错误操作,有可能造成不能远程登录。最好是,安装到不同的目录,然后再停止旧的ssh服务,启用新的ssh服务。大致的步骤如下,编译安装新的openSSH...
因客户漏扫扫描出来openssh及openssl存在漏洞,现升级为官方最新版
OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接...
没有更多推荐了,
(window.slotbydup=window.slotbydup || []).push({
id: "5865577",
container: s,
size: "300,250",
display: "inlay-fix"&对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击。本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenSSH的方法。
一、服务器漏洞说明
二、环境描述
1)操作系统:&6.x系列 64位
2)修补前后
  使用源码安装的方式
3)连接工具SecureCrt、XShell
最好先多开几个root登录的shell窗口万一升级失败可以回退回来,或者安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统
3.1 下载响应源码安装包
3.1.1&下载OpenSSL源码包
下载地址:https://www.openssl.org/source/
3.1.2&下载1.0.2版本的openssl
下载地址:https://www.openssl.org/source/openssl-1.0.2j.tar.gz
3.1.3&下载OpenSSH源码包
下载地址:http://openbsd.hk/pub/OpenBSD/OpenSSH/portable/
3.2&安装Zlib
http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --shared
make install
3.3 安装OpenSSL
tar zxf openssl-1.0.2j.tar.gz
cd openssl-1.0.2j/
./config shared
(默认安装路径/usr/local/ssl)
(确认编译是否有问题)
make install
把老的openssl文件进行备份
mv /usr/bin/openssl /usr/bin/openssl.bak
(文件存在的话就执行这个命令)
mv /usr/include/openssl /usr/include/openssl.bak
(文件存在的话就执行这个命令)
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
vi /etc/ld.so.conf
&在第一行加&&/usr/local/ssl/lib
让配置文件生效
&最后查看当前openssl版本信息
openssl version -a
3.4 安装OpenSSH
tar zxf openssh-7.3p1-CVE-2016-8858.tar.gz
如为原版openssh-7.3p1包则添加下图代码,此包已经添加过。
cd openssh-7.3p1/
解压openssh源码包,修改源码包根目录中的kex.c文件
搜debug("SSH2_MSG_KEXINIT received"); 在这附近
加ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL);
./configure --prefix=/usr/local/myssh --sysconfdir=/usr/local/myssh/ssh --with-openssl-includes=/usr/local/ssl/include -with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/myempty --with-privsep-user=sshd --with-zlib --with-ssl-engine --with-md5-passwords --disable-etc-default-login
&(标红的部分是openssh安装的文件目录,可以自定义)
(make之后没有报错)
make install
修改新的OpenSSH配置文件
vi /usr/local/myssh/ssh/sshd_config
修改端口号和版本号
cd /usr/local/openssh-7.3p1
cp contrib/redhat/sshd.init /etc/init.d/sshd
(把启动脚本拷贝到init.d下)
mv /usr/sbin/sshd /usr/sbin/sshd.bak
(将以前的sshd进行备份)
ln -s /usr/local/myssh/sbin/sshd /usr/sbin/sshd
service sshd restart
&最后再用其他主机telnet这台主机,会发现已经升级到OpenSSH_7.3
阅读(...) 评论()博客分类:
一、环境描述
1)操作系统: 5.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)连接工具xshell 4
二、安装Dropbear代替OpenSSH
安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统。也可以用其他工具代替,比如telnet
1)下载dropbear安装包
https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2
2)检查安装依赖包
yum install 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
# /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
2)删除旧版本
#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
3)安装openssl, 一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配
# ./config --prefix=/usr --shared
# make test
# make install
完毕后查看openssl版本安装是否正确
四、升级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
备份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
先卸载完旧版本的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//sshd.init /etc/init.d/sshd
加入开机自启
# chkconfig --add sshd
6)启动sshd,用start或reload。不要restart,restart 会直接断开连接,而并不会接着启动sshd服务,这时候要通过其他途径进入机器,然后启动sshd服务才行。
四、删除dropbear。
在xshell里再重新打开一个标签,
在这里Dropbear用来防止升级不成功,用来替代openssh连接服务器。
在开启2222端口(dropbear启动时的端口,可以设置别的 )的情况下,通过xshell连接的方法是:
Xshell:\& ssh 192.168.4.1 2222 (192.168.4.1为需要连接的服务器ip)
删除dropbear安装的文件,并杀掉进程
# rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*
浏览: 21540 次
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'OpenSSH平滑升级到6.7操作步骤_Linux教程_Linux公社-Linux系统门户网站
你好,游客
OpenSSH平滑升级到6.7操作步骤
来源:Linux社区&
作者:doerj
一、环境描述
1)操作系统: 5.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)连接工具xshell 4
二、安装Dropbear代替OpenSSH
安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统。也可以用其他工具代替,比如telnet
1)下载dropbear安装包
https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2
2)检查安装依赖包
yum install 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
# /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
2)删除旧版本
#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
3)安装openssl, 一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配
# ./config --prefix=/usr --shared&
# make test
# make install
完毕后查看openssl版本安装是否正确
四、升级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
备份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& &
先卸载完旧版本的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//sshd.init /etc/init.d/sshd
加入开机自启
# chkconfig --add sshd
6)启动sshd,用start或reload。不要restart,restart 会直接断开连接,而并不会接着启动sshd服务,这时候要通过其他途径进入机器,然后启动sshd服务才行。
四、删除dropbear。
在xshell里再重新打开一个标签,
在这里Dropbear用来防止升级不成功,用来替代openssh连接服务器。
在开启2222端口(dropbear启动时的端口,可以设置别的 )的情况下,通过xshell连接的方法是:
Xshell:\& ssh 192.168.4.1 2222 (192.168.4.1为需要连接的服务器ip)
删除dropbear安装的文件,并杀掉进程
# rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*
通过OpenSSL提供FTP+SSL/TLS认证功能,并实现安全数据传输
加密算法浅析及OpenSSL,OpenSSH使用
在 Server 13.10系统中安装配置OpenSSH
Ubuntu安装远程登录OpenSSH服务
通过OpenSSH远程登录时的延迟问题解决
Ubuntu 12.10下OpenSSH的离线安装方法
OpenSSH升级步骤及注意事项详解
OpenSSH普通用户无法登录的几种情况的解决方法
通用线程: OpenSSH 密钥管理,第 1 部分理解 RSA/DSA 认证
RedHat安装OpenSSH和配置sftp锁定目录
OpenSSL 的详细介绍:OpenSSL 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (11/15/:18)
& (12/13/:43)
& (03月31日)
& (12/04/:42)
& (12/06/:55)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款}

我要回帖

更多关于 远程登录 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信