openssh补丁升级

openssh补丁升级

标注

tonight(一)

概述

根据漏洞扫描的结果,给内网电脑升级指定版本的openssh。
此次操作在机器的root用户下执行。

步骤

第一步:检查telnet存不存在

rpm -qa|grep "telnet"  #不存在则需要安装telnet

如果存在则检查是否开启服务,如果显示connect ,则是开启服务状态

telnet XXX.XX.XX.XX 22

如果没有开启服务,则执行

#开启telnet服务
yum -y install telnet-server --nogpgcheck
sed -i "s/yes/no/g" /etc/xinetd.d/telnet
service xinetd restart
mv /etc/securetty /etc/securetty.bak

安装telnet,执行安装命令

yum –y  install telnet*
yum -y install xinetd*

安装完毕,开启服务。

第二步:上传openssh安装包

cd /opt
mkdir soft
cd soft
mkdir openssh

此处用xftp上传文件即可,但是由于我电脑问题,导致用xftp传输有问题,我换成别的方式。
xftp 传输失败用lrzsz软件

yum -y install lrzsz --nogpgcheck #nogpgcheck 忽略公钥检查安装
rpm -qa lrzsz  #确定是否安装成功
rz -y #上传指令 切换到指定的目前

第三步:备份

mv /etc/ssh/  /etc/ssh.bak

第四步:解压,配置和编译

#安装依赖 升级需要几个组件
yum -y install gcc zlib-devel openssl-devel pam-devel rpm-build pam-devel --nogpgcheck

#解压升级包,并安装
tar -zxvf openssh-7.2p1.tar.gz
cd openssh-7.2p1

#改配置文件
cd openssh-7.2p1
#配置prefix是安装路径,可修改
./configure --prefix=/usr --with-zlib --sysconfdir=/etc/ssh --with-ssl-dir=/usr --with-md5-passwords --with-pam
#make install && make 选一个执行即可
make 

第五步:卸载旧版openssh

 rpm -e --nodeps `rpm -qa | grep openssh`

第六步:安装

 make install
 chmod 0600 /etc/ssh/ssh_host_rsa_key
 chmod 0600 /etc/ssh/ssh_host_ecdsa_key
 chmod 0600 /etc/ssh/ssh_host_ed25519_key
 make install

第七步:配置权限及启动项

cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
 sed -i '/#PermitRootLogin prohibit-password/c'"PermitRootLogin yes" /etc/ssh/sshd_config
# vi /etc/ssh/sshd_config   //增加下一行
#PermitRootLogin yes
 service sshd restart/reload/start

验证是否升级成功

执行最后一条命令之后,等一会重新登录服务器,输入命令之后,看是否是升级的版本。出现最新的版本号表示成功。
如果没有成功,用telnet ip+端口号,再试试。如果不行,没关系。因为我就是这样的,四台机器挂了三台。重启机器就好了。(因为这四台机器还没有启用,所以问题不大,但是如果是生产机器,我应该慌到不行)

ssh -V

笔记心得

笔记一

因为是内网环境,所以要配一个本地yum源。

#进入/etc/yum.repos.d/目录下,创建一个以 .repo结尾的文件,内容如下:
vi iso.repo
[iso]                                     #仓库的名称,不能重复
name=yum                         #name相当于注释信息,随便写
baseurl=file:///mnt/           #file表示本地挂载路径   也可配 http://ip/iso/  代表网络路径
enable=1                            #是否启用,默认为启用,可不写;0表示禁用
gpgcheck=0                       #是否检查源的合法性,0表示不检查,1表示检查;为1时则需再加上一行配置地址
#gpgkey=URL                    #上一条为1时加上此句,后面是地址

配置完后紧接着使用命令,生成元数据后即可使用本地源。

 yum clean all 
 yum repolist  

笔记二

最后一步的执行语句是restart、reload和start选用。但是这里建议选用start。我要升级四台服务器,一开始用 start,失败了。机器重启了,但是restart和reload也失败了,最后一台服务器用start成功了。不知道为什么,也有可能是我升级第一台机器有哪一步忽略了,导致失败。

 service sshd restart/reload/start

笔记三

不知道为什么xftp传输出问题了,其他同事可以用,我用其他服务器也可以,但是在这四台服务器就是不行,百度一下没有结果,我怀疑是电脑问题,重启一下应该好,下周重启试试。

笔记四

我没有遇到装失败的结果,所以没有什么建设性的意见。这是同事的办法,未实践,请慎用。

#若安装新版openssh失败,抢救办法是卸载当前的openssh,重新安装系统自带版本
yum remove openssh
yum install openssh openssh-server openssh-clients
service sshd reload/restart

笔记五

小结

这是我第一次写博客,在同事的指导下和网上资料整理而来,基本上能踩得的坑我都踩过。如果有错,欢迎纠正。
后续的话,等我升级完成后,同事给我一个自动化脚本,上传解压执行就行了。

你可能感兴趣的:(运维,openssh,linux)