centos 6.5 升级openssh 7.1

CentOS 6.5 升级openssh 7.1p2本人linux小白一只,最近花了一周在修补漏洞,已经在虚机上测试,亲测可用,吐血分享。

废话少说,直接贴代码。

1、准备工作,相应的包自己到官方下载,另外需要下载依赖包openssl以及zlib包。

openssh下载地址:/portable.html#httpopenssl下载地址:/source/zlib下载地址:/zlib-1.2.8.tar.gz2.1、卸载系统自带的openssh,卸载之前先停止sshd服务.[root@CentOS tmp]# service sshd stop2.2 安装gcc[root@]# rpm –ivh mpfr-2.4.1-6.el6.x86_64.rpm[root@]# rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm[root@]# rpm -ivh kernel-headers-2.6.32-431.el6.x86_64.rpm[root@]# rpm -ivh glibc-headers-2.12-1.132.el6.x86_64.rpm[root@]# rpm -ivh glib2-devel-2.26.1-3.el6.x86_64.rpm[root@]# rpm -ivh libgomp-4.4.7-4.el6.x86_64.rpm[root@]# rpm –ivh ppl-0.10.2-11.el6.x86_64[root@]# rpm –ivh cloog-ppl-0.15.7-1.2.el6.x86_64[root@]# rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm3、安装zlib[root@CentOS ]# tar -xvf zlib-1.2.8.tar.gz[root@CentOS ]# cd zlib-1.2.8[root@CentOS zlib-1.2.8]#build static libraries.../zlib-1.2.8]# ./configure –prefix=/usr/local/zlib.../zlib-1.2.8]# make test.../zlib-1.2.8]# make installbuild shared libraries.../zlib-1.2.8]# make clean.../zlib-1.2.8]# ./configure --shared.../zlib-1.2.8]# make test.../zlib-1.2.8]# make install.../zlib-1.2.8]# cp zutil.h /usr/local/include.../zlib-1.2.8]# cp zutil.c /usr/local/include/usr/local/lib should now contain...libz.alibz.so -> libz.so.1.2.8libz.so.1 -> libz.so.1.2.8libz.so.1.2.8.../zlib-1.2.8]#cp /usr/local/lib/libz.so.1.2.8/ usr/lib64.../zlib-1.2.8]#cp /usr/local/lib/libz.a /usr/lib64.../zlib-1.2.8]#cd /usr/lib64.../zlib-1.2.8]#ln –s libz.so.1.2.8 libz.so.1.../zlib-1.2.8]#ln –s libz.so.1.2.8 libz.so/usr/local/include should now contain...zconf.hzlib.hzutil.h.../zlib-1.2.8]#错误导致不能开机,此步骤不要做。

echo “/usr/local/lib” >> /etc/ld.so.conf .../zlib-1.2.8]# ldconfig4、安装openssl[root@CentOS ]# tar -xvf openssl-1.0.2h.tar.gz[root@CentOS ]# cd openssl-1.0.2h[root@CentOS openssl-1.0.2h]# ./config shared zlib[root@CentOS openssl-1.0. 2h]# make depend[root@CentOS openssl-1.0. 2h]# make[root@CentOS openssl-1.0. 2h]# make install4.1、重命名原来的openssl命令[root@CentOS]#mv /usr/bin/openssl /usr/bin/openssl.old4.2、重命名原来的openssl目录[root@CentOS]#mv /usr/lib64/openssl /usr/lib64/openssl.old4.3、将安装好的openssl 的openssl命令软连到/usr/bin/openssl[root@CentOS]#ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl4.4、将安装好的openssl 的openssl目录软连到/usr/include/openssl[root@CentOS]#ln -s /usr/local/ssl/include/openssl /usr/include/openssl4.5、修改系统自带的openssl库文件,如/usr /lib64/libssl.so(根据机器环境而定) 软链到升级后的libssl.so()删除原libssl.so.1.0.1e, 把libssl.so.1.0.0复制到lib64然后重命名libssl.so.1.0.1e[root@CentOS]#cp /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib64[root@CentOS]#cp /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib64[root@CentOS]# ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/ lib64/libssl.so[root@CentOS]# ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/ lib64/libcrypto.so4.6、执行命令查看openssl依赖库版本是否为1.0.2h:[root@CentOS]#strings /usr/lib64/libssl.so |grep OpenSSL4.7、在/etc/ld.so.conf文件中写入openssl库文件的搜索路径[root@CentOS]#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf4.8、使修改后的/etc/ld.so.conf生效[root@CentOS]# ldconfig –v[root@CentOS]# openssl version5.0禁用sshd服务,卸载原来的openssh版本[root@CentOS]# /sbin/service sshd stop[root@CentOS]# cp /etc/init.d/sshd /root/[root@CentOS]# rpm -qa | grep opensshopenssh-server-5.3p1-94.el6.x86_64openssh-clients-5.3p1-94.el6.x86_64openssh-5.3p1-94.el6.x86_64openssh-askpass-5.3p1-94.el6.x86_64[root@CentOS]# rpm -e openssh-5.3p1-94.el6.x86_64 --nodeps[root@CentOS]# rpm -e openssh-askpass-5.3p1-94.el6.x86_64 --nodepsroot@CentOS]# rpm -e openssh- server -5.3p1-94.el6.x86_64 --nodepsroot@CentOS]# rpm -e openssh- clients -5.3p1-94.el6.x86_64 --nodeps5.1、安装openssh[root@CentOS]#tar -xvf openssh-7.1p2.tar.gz[root@CentOS]#cd openssh-7.1p2[root@CentOS openssh-7.1p2]#./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --witho ut-hardening && make && make install6、修改配置文件[root@CentOS openssh-7.1p2]#cp contrib/redhat/sshd.init /etc/init.d/sshd[root@CentOS openssh-7.1p2]#chmod +x /etc/init.d/sshd[root@CentOS openssh-7.1p2]#vi /etc/init.d/sshd修改对应指令的安装目录=============================25行SSHD=/usr/sbin/sshd为SSHD=/usr/local/openssh/sbin/sshd41行/usr/bin/ssh-keygen-A为/usr/local/openssh/bin/ssh-keygen-A=============================保存退出7、加入到系统服务[root@CentOS openssh-7.1p2]#chkconfig --add sshd[root@CentOS openssh-7.1p2]#service sshd start[root@CentOS openssh-7.1p2]# cp /usr/local/openssh/bin/ssh /usr/bin[root@CentOS openssh-7.1p2]# ssh -V8、添加加密算法此时ssh可以进行远程联接了,但是会报错:导致此问题的原因是ssh升级后,为了安全,默认不在采用原来一些加密算法,我们手工添加进去即可。

合集下载

rhel6.5打包openssh6.7rpm包--技术文档

rhel6.5打包openssh6.7rpm包--技术文档

OpenSSH6.7源码包打包成rpm包由于要升级openssh到6.7版本,在网上看了下没有rpm包,决定将6.7版本的源码包打包成RPM包。

而编译6.7版本需要比较新的openssl版本,并需要openssl的devel包,所以这里openssl版本已升级到OpenSSL 1.0.1j,系统版本为rhel6.5,1、安装编译环境,需要的包有以下这些:x11-ssh-askpass-1.2.4.1.tar.gzlibX11libX11-develxorg-x11-xkb-utils-devellibgnomeui-develgtk2-develgcc*pampam-develglibc-developenssl-develimake2、从源代码包中找到spec文件,用来控制包建立过程注:spec文件可以自己定制,这里为了方便就使用默认配置了。

1)查看rpmbuild目录结构,redhat的默认路径是在/root/rpmbuild下,其中打包完成的rpm包会在RPMS目录下生成。

2)解压源码包,并复制源码包和spec文件到rpmbuild路径下的SOURCES目录中注:这里必须把x11-ssh-askpass-1.2.4.1.tar.gz源码包一并复制到SOURCES目录中去,否则会报错。

# tar -vxf openssh-6.7p1.tar.gz#cpopenssh-6.7p1/contrib/redhat/openssh.spec/root/rpmbuild/SOURCES/# cp openssh-6.7p1.tar.gz /root/rpmbuild/SOURCES/# cp x11-ssh-askpass-1.2.4.1.tar.gz/root/rpmbuild/SOURCES/复制完之后目录情况:3、开始打包进入SOURCES目录,使用rpmbuild命令# rpmbuild -bb openssh.spec注:这里使用-bb参数,是将源码包编译成二进制的RPM包,更多参数请参阅rpmbuild帮助文档。

Linux下升级OpenSSL和OpenSSH

Linux下升级OpenSSL和OpenSSH

Linux下升级OpenSSL和OpenSSH一、安装前的准备1.本次用到的软件包都是目前最新版本:zlib-1.2.8.tar.gzopenssl-1.0.1e.tar.gzopenssh-6.2p2.tar.gz2.开启Telnet远程登录,避免操作过程中SSH服务意外中断。

.2.1 vim /etc/xinetd.d/krb5-telnet文件(版本不同文件名是不同的,有的版本为telnet) service telnet{flags = REUSEsocket_type = streamwait = nouser = rootserver = /usr/kerberos/sbin/telnetdlog_on_failure += USERIDdisable = no //将yes改为no,即启用telnet服务}2.2 重启xinetd服务,启动telnet:# /etc/init.d/xinetd restart2.3 查看telnet服务是否已经打开# netstat -ntup | grep :23然后可以通过telnet连接到服务器,进行软件升级.2.4备份sshd脚本#cp /etc/init.d/sshd /root/二、安装升级Openssh1.在安装之前需要卸载系统里原Openssh 相关包:rpm –qa|grep openssh //查询系统原安装的openssh包,全部卸载。

#rpm -e openssh openssh-server openssh-clients openssh-askpass --nodeps注:这个根据情况进行选择,不做也可2.解压安装zlib包:tar -zxvf zlib-1.2.8.tar.gzcd zlib-1.2.8./configuremakemake install3.解压安装openssl包:#tar -zxvf openssl-1.0.1e.t ar.gz#cd openssl-1.0.1e#./config shared zlib#make#make test#make installmv /usr/bin/openssl /usr/bin/openssl.bakmv /usr/include/openssl /usr/include/openssl.bak //有些版本这个目录下没有opensslln -s /usr/local/ssl/bin/openssl /usr/bin/opensslln -s /usr/local/ssl/include/openssl /usr/include/openssl //没有这个目录的也要做上这个链接.4. 配置库文件搜索路径# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf# /sbin/ldconfig -v# openssl versionOpenSSL 1.0.1e 11 Feb 20135.解压安装openssh包:先将将/etc/ssh的文件夹备份:#mv /etc/ssh /etc/ssh_bak //必须做,因为编译过程中会生成新的配置文件和密钥文件. # tar -zxvf openssh-6.2p2.tar.gz#cd openssh-6.2p2#./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man#make#make install三、查看版本并启动服务#ssh -vOpenSSH_6.2p2, OpenSSL 1.0.1e 11 Feb 2013 //可以看到openssh和openssl已经为最新版本#cp /root/sshd /etc/init.d/#/etc/init.d/sshd start //启动服务#chkconfig --list|grep sshd //添加到服务器#netstat -tnlp | grep :22 //查看服务端口是否在侦听用ssh工具连接系统看是否正常登陆。

Openssh升级操作步骤

Openssh升级操作步骤

Openssh升级操作步骤一、开启Telnet远程管理1.1 修改/etc/xinetd.d/krb5-telnet文件#vi /etc/xinetd.d/krb5-telnetkrb5-telnet文件内容如下:# default: off# description: The kerberized telnet server accepts normal telnet sessions, \# but can also use Kerberos 5 authentication.service telnet{flags = REUSEsocket_type = streamwait = nouser = rootserver = /usr/kerberos/sbin/telnetdlog_on_failure += USERIDdisable = no //默认为yes,即启用禁用telnet服务按照红色字体进行修改,修改完毕保存文件退出。

1.2 开启xinetd服务# /etc/init.d/xinetd restart[root@web2 ~]# /etc/init.d/xinetd restart停止 xinetd:[确定]启动 xinetd:[确定]# netstat -tnlp | grep :23[root@web2 ~]# netstat -tnlp | grep :23tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 1433/xinetd注:在Web2服务器上执行/etc/init.d/xinetd restart 提示错误下载包xinetd-2.3.14-10.el5.i386 安装即可#rpm –ivh xinetd-2.3.14-10.el5.i3861.3 停止SSHD服务#/sbin/service sshd stop[root@web2 ~]# /sbin/service sshd stop停止 sshd:[确定]cp /etc/init.d/sshd /root/ 备份复制启动脚本[root@web2 ~]# cp /etc/init.d/sshd /root/[root@web2 ~]# cd /root/[root@web2 ~]# lsanaconda-ks.cfg dapeng-20091210 data.sql ems1.sql gsz install.log.syslog TurboMQv2.jarcom_20091218backup dapeng-20091212 Desktop ems.sql install.log sshdxmlbak1.4 卸载Openssh#rpm -e openssh --nodeps#rpm -e openssh-server --nodeps#rpm -e openssh-clients --nodeps#rpm -e openssh-askpass-gnome#rpm -e openssh-askpass[root@web2 ~]# rpm -e openssh --nodeps[root@web2 ~]# rpm -e openssh-server --nodepswarning: /etc/ssh/sshd_config saved as /etc/ssh/sshd_config.rpmsave[root@web2 ~]# rpm -e openssh-server --nodepserror: package openssh-server is not installed[root@web2 ~]# rpm -e openssh-askpass-gnomeerror: package openssh-askpass-gnome is not installed[root@web2 ~]# rpm -e openssh-askpass二、下载安装最新的openssl和openssh2.1 下载相关软件包下载至/usr/local/src目录下载地址:/source/ openssl-0.9.8r.tar.gz#cd /usr/local/src#tar zxvf openssl-0.9.8r.tar.gz#cd openssl-0.9.8r#./config shared zlib#make#make test#make installmv /usr/bin/openssl /usr/bin/openssl.OFFmv /usr/include/openssl /usr/include/openssl.OFFln -s /usr/local/ssl/bin/openssl /usr/bin/opensslln -s /usr/local/ssl/include/openssl /usr/include/openssl2.2 配置库文件搜索路径# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf# /sbin/ldconfig -v[root@web2 openssl-0.9.8r]# openssl version -aOpenSSL 0.9.8r 8 Feb 2011built on: Thu Jun 9 21:19:24 CST 2011platform: linux-x86_64options: bn(64,64) md2(int) rc4(1x,char) des(idx,cisc,16,int) idea(int) blowfish(idx)compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM OPENSSLDIR: "/usr/local/ssl"三、安装openssh包3.1 解压缩# tar zxvf openssh-5.8p1.tar.gz3.2准备编译将/etc/ssh的文件夹备份,备份后删除#mv ssh sshbak#rm –rf ssh./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man3.3 make3.4 make install四、启动并验正服务的开启状况4.1 调试启动,如果以下显示均正常,就可以正常启动sshd了# /usr/sbin/sshd -ddebug1: sshd version OpenSSH_5.8p1debug1: read PEM private key done: type RSAdebug1: private host key: #0 type 1 RSAdebug1: read PEM private key done: type DSAdebug1: private host key: #1 type 2 DSAdebug1: read PEM private key done: type ECDSAdebug1: private host key: #2 type 3 ECDSAdebug1: rexec_argv[0]='/usr/sbin/sshd'debug1: rexec_argv[1]='-d'debug1: Bind to port 22 on ::.Bind to port 22 on :: failed: Address already in use.debug1: Bind to port 22 on 0.0.0.0.Bind to port 22 on 0.0.0.0 failed: Address already in use.Cannot bind any address.4.2 启动服务#/usr/sbin/sshd或者#service sshd start4.3 查看服务端口中是否有22#netstat -tnlp | grep :22tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 21018/sshd五、修改密钥,添加appserv用户登陆5.1 在web2上将密钥去掉#vi .ssh/known_hosts删除里面所有的内容5.2修改/etc/ssh/sshd_config文件,将appserv添加至该文件中在Banner none的地方添加内容如下:AllowUsers appserv六、关闭telnet6.1关闭telnet服务#/etc/init.d/xinetd stop# netstat -tnlp | grep :23vi /etc/xinetd.d/krb5-telnet。

RedhatLinux6.5-OpenSSL升级安装步骤

RedhatLinux6.5-OpenSSL升级安装步骤

RedhatLinux6.5-OpenSSL升级安装步骤各位朋友,2014年4月8日,OpenSSL发布公告,因为一个叫心脏出血的漏洞,全世界绝大多数现网服务器面临威胁,不管是LINUX还是WNDOWS,这里提供大家Redhat Linux 6.5的修复办法和RPM包,因为使用网上下载的源代码编译安装后,所有使用OpenSSL的相关应用全部都起不来,直接报.so文件调用失败,看来红帽子是有什么定制的内容在里面。

没办法,找到红帽子的源代码盘,与网上下载的OpenSSL1.0.1g进行混合,一步步解决Patch冲突问题,修订部分openssl.spec的冲突和错误,经过几个小时的奋斗,终于成功生成.rpm包,经测试在Redhat Linux 6.5上完全升级成功,如果需要用于其他版本的Redhat Linux,请大家自行测试。

因为现网系统,升级可不是小事,并且openssl可是核心模块,很多应用程序都需要调用,升级完成要多做测试,确保所有应用都没有问题才行。

并且现网的平台很多都是通过4A系统访问管理,4A平台连接主机只有SSH方式,一旦升级有问题,SSH也是无法启动的(SSH也调用openssl),就再也无法连接主机了,必须去机房!所以必须先弄一个备份连接,那就只能先把Telnet弄起来吧。

具体如何弄Telnet,我就不想多说了,本文并不是Telnet的安装操作手册,并且还有可能涉及到主机防火墙的配置,所以如何起动Telnet,并且测试能够通过4A平台访问,这是自己的事情,也许还有可能你们的4A平台不支持Telnet,但支持其他方式(虽然这种情况很少见,不支持Telnet的4A平台我还没见过),你就需要使用其他方式来建一个备份连接方式,防止SSH升级有问题,无法再连接主机。

我的步骤是考虑到现网系统的特殊性的,并不是自己在家玩,自己在家玩,怎么玩都行!但现网系统可不能乱玩。

一、在家里用一台测试机升级,试验。

Linux升级OpenSSH和OpenSSL,解决XMSSKey解析整数溢出漏洞、Open。。。

Linux升级OpenSSH和OpenSSL,解决XMSSKey解析整数溢出漏洞、Open。。。

Linux升级OpenSSH和OpenSSL,解决XMSSKey解析整数溢出漏洞、Open。

OpenSSH和OpenSSLOpenSSLOpenSSL其实是⼀个开源的C函数库,多⽤于加密依赖,很多程序的编译,需要OpenSSL作为依赖包。

OpenSSHOpenSSH 是 SSH (Secure SHell) 协议的免费开源实现,类似于OpenJDK和OracleJDK的区别。

需要⽤到OpenSSL的函数库,所以在更新OpenSSH前,最好先更新OpenSSL。

SSH协议族可以⽤来进⾏远程控制, 或在计算机之间传送⽂件。

相对于传统⽅式,OpenSSH提供了服务端后台程序和客户端⼯具,并且加密远程控制和⽂件传输过程中的数据。

简单地说,⽇常使⽤OpenSSH:远程控制服务器端,如:远程登录访问Linux的Terminal。

且过程中加密传输。

OpenSSL 拒绝服务漏洞拒绝服务漏洞,代号为:CVE-2021-3449:主要是⼀些操作,可能会让OpenSSL TLS 强⾏停⽌。

【我感觉这个漏洞不是很严重啦,但是⼤家都觉得很严重……那还是有必要修复⼀下╮( ̄▽ ̄"")╭】解决⽅法很简单:升级OpenSSL版本。

XMSS Key 解析整数溢出漏洞XMSS Key漏洞,代号为:CVE-2019-16905:主要是⾮法⽤户,可以通过此漏洞,跳过OpenSSH的认证,远程登录到你服务器【不过计算难度挺⾼的,⽽且条件苛刻……】。

但是,总归是重⼤漏洞,需要修复:解决⽅法很简单:升级OpenSSH版本。

升级的⽅法很简单:下载新版本OpenSSL源码备份旧版本OpenSSL编译安装新版本OpenSSL下载新版本OpenSSL源码这边推荐下载地址:⽐如,我这边下载openssl-1.1.1k.tar.gz。

到Linux控制台内,使⽤wget下载即可(你也可以使⽤宝塔等软件下载,但是记得权限问题):wget 'https:///source/openssl-1.1.1k.tar.gz'之后,我们解压这个tar.gz⽂件夹,并进⼊:# 使⽤tar⼯具包解压tar -xf openssl-1.1.1k.tar.gz# 进⼊⽂件夹cd openssl-1.1.1k备份旧版本OpenSSL为了避免编译过程中,出现意外(如:远程SSH突然断连,导致编译失败);我们提前备份旧版本OpenSSL,给回滚“留条路”(如果你之前都没有安装OpenSSL,这步可以跳过):# 备份OpenSSL到⽤户⽬录,并重命名为openBakmv openssl ~/openBak编译安装新版本OpenSSL刚刚我们已经在新的OpenSSL⽬录,所以我们可以直接开始编译。

OpenSSH升级

OpenSSH升级

OpenSSH升级OpenSSH_6.2p2升级到OpenSSH_7.3p1OpenSSH_6.2p2升级到OpenSSH_7.3p1 (1)前⾔ (2)⼀:检查依赖软件 (3)#安装必要的gcc, gcc-c++编译⼯具以及libopenssl-devel,pam-devel,zlib-deve3⼆:安装OpenSSL (4) 2.1.检查系统⾃带的openssl (4)2.2.检查openssl版本 (4)2.3.检查openssl安装⽂件以及路径 (4)2.4备份上述⽂件,/usr/bin/X11/openssl为/usr/bin/openssl的软链接 (5)2.5安装zlib-1.2.8 (5)三:升级openssl (6)3.1安装openssl-fips-2.0.13 (6)3.2 检查安装好后的⽬录⽂件 (6)3.3安装openssl-1.0.2h (6)3.4查看安装好的/usr/local/openssl⽬录⽂件 (7)3.5 查看/etc/ssl⽬录 (7)3.6配置升级后的openssl的相关⽬录(链接openssl程序) (7)3.7查看升级的openssl版本 (8)四:卸载系统原有的OpenSSH (8)4.1停⽌sshd服务 (8)4.2卸载openssh (8)五:升级OpenSSH (9)5.1安装openssh7.3p1 (9)5.2 查看升级后的版本 (9)5.3 拷贝sshd启动脚本,contrib/⽬录下对应系统的启动脚本 (9)5.4启动并设置开机启动 (10)5.5修改sshd ⽂件 (10)六:升级过程可能会出现的经典错误 (10)6.1编译openssh时,出现找不到pam-devel (10)6.2编译过程中出现libpam missing (10)6.3编译过程出现host-key Error 255 (11)6.4编译过程中出现错误configure: error: *** Can't find recent OpenSSL libcrypto(see config.log for details) *** (11)6.5编译openssh依赖的是openssl是⽼版本 (12)6.7升级后ssh⽆法正常登录 (12)前⾔OpenSSH概念:OpenSSH是实现远程控制、远程加密传输数据的安全的⽹络连接⼯具,也就是为我们提供ssh服务的程序。

CentOS 6.8离线升级OpenSSH 8.2

下载OpenSSH(https://ww/),最新为8.INSTALL文得知安装需要满足以下Zlib 1.1.4或更高版本;lib crypto(LibreSSL或Open或1.1.0g以版本)。

Zlib(https://当前最新版为OpenSSL(https: ///source/),/etc/init.d/dbus 启动服务后,服务器会再次进入图形界面。

两台服务器交替重新当两台群集的心跳线断开后就会出现这种情况,应当前最新版本为1.1.1g,查除上述要求外,要:Perl模块Text::Template,其他的一些要求。

4.下/src/)新版为perl-5.30.2,服务器perl不下载。

5.下::Template(https://meta //)1.1g源码中包含了此模块,可以不下载。

安装gcc查看服务器上没有安装gcc,可用件或光盘作这是最方便的安装方式,会解决所有依赖关系。

注正确配置后,联网不能安装文件/etc/yum.repos.d/ CentOS-Media.repomount-o loop6.8-x86_64-bin-DVD1.iso/etc/ssh/* ///备份系`rpm -qa |//卸载系rm -rf /etc/ssh //删除系统原有的配置OpenSSH./configure --prefix=/--sysconfdir=/--with-ssl-dir=/ln -s /opt/ssh/bin/ssh创建新编译/opt/ssh/bin//usr/bin/ //软链接ssh –V //查看Open定安装目指定配置--with-ssl-dir=DIROpenSSL库的安装目录。

3.配置cp contrib/redhat/ sshd.initsshd //文件chkconfig//添加sshdc h k c//设置sshdln -ssshd /usr/sbin/建sshd软链接v i/config //去掉以下prohibit-passwordyes(默认录),最后保存退出。

openssh版本升级1

linux openSSHD 升级过程本扫描方法通过版本号进行判断。

有的目标主机修复了该漏洞,但是OpenSSH服务的版本号并没有改变,可能会产生误报。

例如:安装新版本OpenSSH_6.6p1安装步骤:1、查看当前版本1[root@orac2 Desktop]# ssh -V ↙2OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 20102、做ssh配置文件备份3[root@orac2 etc]# tar cvzf /etc/ssh.tar.gz /etc/ssh↙3、安装更高版本的openSSHD4#tar xvzf openssh-6.6p1.tar.gz ↙5#cd openssh-6.6p1 ↙ (也可能是其他命令)6# ls configure*↙ (查看:当前文件夹是否有configure脚本文件,即:安装包openssh-6.6p1.tar.gz内是否有configure文件,在执行configure脚本文件前,操作系统必须装有gcc编译工具,一般情况Linux系统是自带的)7# gcc ↙ (检查:gcc命令是否存在)8#./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check 9#make ↙10#make install ↙4、检查当前版本11[root@orac2 openssh-6.6p1]# ssh -V ↙12OpenSSH_6.6p1, OpenSSL 1.0.0-fips 29 Mar 2010 ↙5、重启服务13#service sshd restart ↙重启一下服务6.测试从其它电脑ssh测试成功。

解决openssh漏洞,升级openssh版本

解决openssh漏洞,升级openssh版本关于解决漏洞的问题我就不详说了,主要就是升级版本。

这⾥我们就直接简单记录下步骤:1、升级使⽤root⽤户登录系统进⼊到/home/guankong ,上传openssh-6.6p1.tar.gz到该⽬录下1: 备份原rpm启动脚本到当前路径下#cp /etc/init.d/sshd /home/guankong2:停⽌服务#/etc/init.d/sshd stop3: 查看已安装rpm openssh#rpm –qa |grep openssh4:删除原rpm openssh软件包#rpm -e openssh-server-4.3p2-29.el5 openssh-4.3p2-29.el5 openssh-clients-4.3p2-29.el5 openssh-askpass-4.3p2-29.el55:解压源码补丁安装包(会在当前路径下创建openssh6.0p1⽬录)#tar -zxvf openssh 6.0p1.tar.gz6: 进⼊该⽬录#cd /root/openssh6.0p17: 配置指定安装⽬录同时不检查zlib版本(节省时间如果zlib版本过低那么就会造成openssh的源⽂件⽆法编译成功)# ./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check8:make 编译9:make install 安装10:检查是否升级成功#ssh –V下图为升级成功11:vi /etc/ssh/sshd_config 修改配置⽂件(参照下⽅sshd配置⽂件安全配置要求)12:拷贝启动脚本到/etc/init.d/下#cp /root/sshd /etc/init.d/13: 开启服务#/etc/init.d/sshd start开启服务时会有⼀个提⽰因为这个路径⽬录已经通过卸载rpm包被删除、⼿动创建⼀个即可(该路径在启动脚本中为通过⽇志记录sshd服务的启动信息)#mkdir /var/empty/sshd14:设置SSHD服务为开机启动#chkconfig --add sshd#chkconfig sshd on15:检查端⼝是否正常#netstat -an |grep :22shell脚本:#!/bin/shchmod 755 -R .install_log=install.log##openssh upgradeecho "#######1:openssh upgrade ..." 2>&1 | tee -a $install_logcp /etc/init.d/sshd .//etc/init.d/sshd stoprpm -e openssh-clients-5.3p1-111.el6.x86_64 openssh-5.3p1-111.el6.x86_64 openssh-server-5.3p1-111.el6.x86_64 2>&1 | tee -a $install_log tar -zxvf openssh-6.6p1.tar.gz 2>&1 | tee -a $install_logcd openssh-6.6p1./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check 2>&1 | tee -a $install_logmake 2>&1 | tee -a $install_logmake install 2>&1 | tee -a $install_logcd ..cp sshd /etc/init.d/ -rf/etc/init.d/sshd startchkconfig sshd onecho "openssh upgrade end !" 2>&1 | tee -a $install_log软件:openssh-6.6p1.tar.gz,⾃⾏下载。

CentOS7OpenSSH升级到最新OpenSSH8.8p1教程

CentOS7OpenSSH升级到最新OpenSSH8.8p1教程⼀、环境介绍查看openssh、openssl版本[root@localhost ~]# openssl versionOpenSSL 1.0.2k-fips 26 Jan 2017[root@localhost ~]# ssh -VOpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017查看linux发⾏版和内核[root@localhost ~]# cat /etc/os-releaseNAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_URL="https:///"BUG_REPORT_URL="https:///"CENTOS_MANTISBT_PROJECT="CentOS-7"CENTOS_MANTISBT_PROJECT_VERSION="7"REDHAT_SUPPORT_PRODUCT="centos"REDHAT_SUPPORT_PRODUCT_VERSION="7"[root@localhost ~]# uname -r3.10.0-957.el7.x86_64⼆、安装配置telnet2.1、安装telnet-server[root@localhost ~]# yum -y install xinetd telnet-server2.2、配置telnet`先看⼀下xinetd.d⽬录下是否有telnet⽂件`[root@localhost ~]# ll /etc/xinetd.d/telnetls: cannot access /etc/xinetd.d/telnet: No such file or directory`如果有,则将⽂件⾥⾯的disable = no改成disable = yes``如果没有,就进⾏下⾯的操作`[root@localhost ~]# cat > /etc/xinetd.d/telnet <<EOFservice telnet{disable = yesflags = REUSEsocket_type = streamwait = nouser = rootserver = /usr/sbin/in.telnetdlog_on_failure += USERID}EOF2.3、配置telnet登录的终端类型[root@localhost ~]# cat >> /etc/securetty <<EOFpts/0pts/1pts/2pts/3EOF2.4、启动telnet服务[root@localhost ~]# systemctl enable xinetd --now[root@localhost ~]# systemctl enable telnet.socket --now[root@localhost ~]# ss -nltp | grep23LISTEN 0128 :::23 :::* users:(("systemd",pid=1,fd=46))`23端⼝起来了,表⽰telnet服务正常运⾏`三、切换登录⽅式为telnet后⾯的操作都是在telnet链接的⽅式下进⾏,避免ssh中断导致升级失败以telnet⽅式登录的时候,注意选择协议和端⼝,协议为telnet,端⼝为23四、开始升级OpenSSH4.1、下载升级所需依赖包[root@localhost ~]# yum -y install gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel[root@localhost ~]# wget https:///source/openssl-1.1.1i.tar.gz[root@localhost ~]# wget /pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz[root@localhost ~]# tar xf openssl-1.1.1i.tar.gz[root@localhost ~]# tar xf openssh-8.6p1.tar.gz4.3、编译安装OpenSSL`开始之前,先备份⼀下原有的OpenSSL⽂件`[root@localhost ~]# mv /usr/bin/openssl{,.bak}[root@localhost ~]# mv /usr/include/openssl{,.bak}[root@localhost ~]# cd openssl-1.1.1i/[root@localhost openssl-1.1.1i]# ./config shared && make && make install`编译完成后,可以在/usr/local⽬录下找到openssl的⼆进制⽂件和⽬录`[root@localhost ~]# ll /usr/local/bin/openssl-rwxr-xr-x 1 root root 749136 Jan 1414:25 /usr/local/bin/openssl[root@localhost ~]# ll -d /usr/local/include/openssl/drwxr-xr-x 2 root root 4096 Jan 1414:25 /usr/local/include/openssl/`建⽴软连接`[root@localhost ~]# ln -s /usr/local/bin/openssl /usr/bin/openssl[root@localhost ~]# ln -s /usr/local/include/openssl/ /usr/include/openssl[root@localhost ~]# ll /usr/bin/openssllrwxrwxrwx 1 root root 22 Jan 1414:32 /usr/bin/openssl -> /usr/local/bin/openssl[root@localhost ~]# ll -d /usr/include/openssllrwxrwxrwx 1 root root 27 Jan 1414:33 /usr/include/openssl -> /usr/local/include/openssl/`重新加载配置,验证openssl版本`[root@localhost ~]# echo"/usr/local/lib64" >> /etc/ld.so.conf[root@localhost ~]# /sbin/ldconfig[root@localhost ~]# openssl versionOpenSSL 1.1.1i 8 Dec 20204.3.1、可能会有的⼀些报错和解决⽅法[root@localhost ~]# openssl versionopenssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory"这是因为libssl.so.1.1⽂件找不到,执⾏find / -name 'libssl.so.1.1',将/etc/ld.so.conf⾥⾯的lib64改成find出来的路径即可" [root@localhost ~]# find / -name "openssl""编译完,可以⽤上⾯的find命令看⼀下openssl所在的路径,以及include/openssl所在的路径"4.4、编译安装OpenSSH`备份原有的ssh⽬录`[root@localhost ~]# mv /etc/ssh{,.bak}[root@localhost ~]# mkdir /usr/local/openssh[root@localhost ~]# cd openssh-8.4p1/[root@localhost openssh-8.4p1]# ./configure --prefix=/usr/local/openssh \--sysconfdir=/etc/ssh \--with-openssl-includes=/usr/local/include \--with-ssl-dir=/usr/local/lib64 \--with-zlib \--with-md5-passwords \--with-pam && \make && \make install4.4.1、配置sshd_config⽂件[root@localhost ~]# echo"UseDNS no" >> /etc/ssh/sshd_config[root@localhost ~]# echo'PermitRootLogin yes' >> /etc/ssh/sshd_config[root@localhost ~]# echo'PubkeyAuthentication yes' >> /etc/ssh/sshd_config[root@localhost ~]# echo'PasswordAuthentication yes' >> /etc/ssh/sshd_config`如果是图形化界⾯,需要x11的话,需要配置如下`[root@localhost ~]# echo"X11Forwarding yes" >> /etc/ssh/sshd_config[root@localhost ~]# echo"X11UseLocalhost no" >> /etc/ssh/sshd_config [root@localhost ~]# echo"XAuthLocation /usr/bin/xauth" >> /etc/ssh/sshd_config4.4.2、创建新的sshd⼆进制⽂件[root@localhost ~]# mv /usr/sbin/sshd{,.bak}[root@localhost ~]# mv /usr/bin/ssh{,.bak}[root@localhost ~]# mv /usr/bin/ssh-keygen{,.bak}[root@localhost ~]# ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh[root@localhost ~]# ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen[root@localhost ~]# ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd`查看openssh当前版本`[root@localhost ~]# ssh -VOpenSSH_8.4p1, OpenSSL 1.1.1i 8 Dec 20204.4.3、重新启动openssh服务[root@localhost ~]# systemctl disable sshd --now[root@localhost ~]# mv /usr/lib/systemd/system/sshd.service{,.bak}[root@localhost ~]# systemctl daemon-reload[root@localhost ~]# cp -a openssh-8.6p1/contrib/redhat/sshd.init /etc/init.d/sshd [root@localhost ~]# cp -a openssh-8.6p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam [root@localhost ~]# chkconfig --add sshd[root@localhost ~]# systemctl enable sshd --now4.5、ssh链接成功后的处理[root@localhost ~]# ssh root@192.168.******`成功连接上之后,可以关闭telnet服务,当然,也可以不关闭`[root@localhost ~]# systemctl disable xinetd.service --now[root@localhost ~]# systemctl disable telnet.socket --now。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档