tonight(一)
根据漏洞扫描的结果,给内网电脑升级指定版本的openssh。
此次操作在机器的root用户下执行。
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*
安装完毕,开启服务。
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
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
这是我第一次写博客,在同事的指导下和网上资料整理而来,基本上能踩得的坑我都踩过。如果有错,欢迎纠正。
后续的话,等我升级完成后,同事给我一个自动化脚本,上传解压执行就行了。