centos7 卸载openssl centos7卸载ssh_linux


CentOS7-升级OpenSSH

安装前须知的命令说明

systemctl 如何启动、关闭、启用/禁用服务

启动服务:systemctl start xxx.service

关闭服务:systemctl stop xxx.service

重启服务:systemctl restart xxx.service

显示服务的状态:systemctl status xxx.service

在开机时启用服务:systemctl enable xxx.service

在开机时禁用服务:systemctl disable xxx.service

查看服务是否开机启动:systemctl is-enabled xxx.service

查看已启动的服务列表:systemctl list-unit-files|grep enabled

查看启动失败的服务列表:systemctl --failed

1.准备好安装需要的包
下载openssh包和openssl的包(友情提示:迅雷下载会快哦)
openssh版本openssh-xxx.tar.gz:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/
openssl版本openssl-xxx.tar.gz:https://ftp.openssl.org/source/
注意:openssh和openssl版本对应关系请自行搜索
我这里用的是:
openssh-8.3p1.tar.gz
openssl-1.1.1g.tar.gz
2.解压
# tar xfz openssh-8.3p1.tar.gz
# tar xfz openssl-1.1.1g.tar.gz
3.安装依赖包
升级需要几个组件,有些是和编译相关的等
# yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
安装pam和zlib等
# yum install -y pam* zlib*
4.安装telnet
为防止openssh升级失败。所以安装telnet。保证openssh升级失败也可以通过telnet连接服务器,进行恢复操作。并不用去机房。
# yum install -y telnet-server # yum install -y xinetd # systemctl start telnet.socket # systemctl start xinetd
建议开启telnet和xinetd开机自动启动,避免reboot后连不上Telnet
# systemctl enable xinetd.service
# systemctl enable telnet.socket
CentOS 7 采用了 firewalld 防火墙,查询是否开启23端口
# firewall-cmd --query-port=23/tcp 
显示23端口没有开启使用下面命令开启23端口
# firewall-cmd --zone=public --add-port=23/tcp --permanent 
重新加载firewall-cmd
# firewall-cmd --complete-reload 
重新查询23端口是否开放
# firewall-cmd --query-port=23/tcp 
验证telnet
使用远程telnet连接验证
5.安装openssl
 备份
 # mv /usr/bin/openssl /usr/bin/openssl_bak
 # mv /usr/include/openssl /usr/include/openssl_bak
 编译安装
 # cd openssl-1.1.1g
 # ./config --prefix=/usr/local/openssl --shared 
 # make && make install
 命令执行完毕,echo $?查看下最后的make install是否有报错,0表示没有问题
 # echo $?
 下面2个文件或者目录做软链接 (刚才前面的步骤mv备份过原来的)
 # ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
 # ln -s /usr/local/openssl/include/openssl /usr/include/openssl
 命令行执行下面2个命令加载新配置
 # echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
 # /sbin/ldconfig
 查看确认版本。
 # openssl version
6.安装openssh
 安装前须知
 需要把selinux关闭,使用命令getenforce查看selinux状态,Enforcing为开启,Permissive为关闭
 # getenforce
 临时关闭selinux
 setenforce 0
 永久关闭selinux,需要重启服务器
 vi /etc/selinux/config
 将SELINUX=enforcing改为SELINUX=disabled
 注:友情提示,不关闭selinux会出bug的
 卸载旧的ssh
 # cp -r /etc/ssh /etc/ssh.old #备份一些之前的文件 # rpm -qa|grep openssh # rpm -e --nodeps openssh-clients-6.6.1p1-31.el7.x86_64 (版本可能不一样,以实际为主) # rpm -e --nodeps openssh-6.6.1p1-31.el7.x86_64 (版本可能不一样,以实际为主) # rpm -e --nodeps openssh-server-6.6.1p1-31.el7.x86_64 (版本可能不一样,以实际为主) # rpm -qa|grep openssh
 连接到其他计算机时,OpenSSH作为两个进程运行。第一个进程是特权进程,并根据需要控制权限 的颁发。第二个进程与网络通信。设置适当的环境需要额外的安装步骤,这些步骤通过以root用户身份发出以下命令来执行 :
 # install -v -m700 -d /var/lib/sshd # chown -v root:sys /var/lib/sshd # groupadd -g 50 sshd # useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd -s /bin/false -u 50 sshd
 编译
 # cd openssh-8.3p1
 # ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/openssl/include --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam && make 
 修改相应文件权限
 # chmod 600 /etc/ssh/ssh_host_rsa_key
 # chmod 600 /etc/ssh/ssh_host_ecdsa_key # chmod 600 /etc/ssh/ssh_host_ed25519_key
 安装
 # make install
 安装完毕 检查下结果
 # echo $?
 配置
 # install -v -m755 contrib/ssh-copy-id /usr/bin # install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1 # install -v -m755 -d /usr/share/doc/openssh-8.3p1 # install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-8.3p1
 修改sshd_config,最下面添加如下几个配置:
 # vi /etc/ssh/sshd_config
 UsePAM no
 UseDNS no
 PasswordAuthentication yes
 PubkeyAuthentication yes
 配置启动设置和开机启动
 # cp -p contrib/redhat/sshd.init /etc/init.d/sshd
 # cp -p contrib/redhat/sshd.pam /etc/pam.d/sshd.pam # chmod +x /etc/init.d/sshd # chkconfig --add sshd # chkconfig sshd on # chkconfig --list sshd # systemctl restart sshd
 验证ssh
 # ssh -V
7.关闭telnet服务
# systemctl disable xinetd.service
# systemctl disable telnet.socket
# systemctl stop xinetd.service
# systemctl stop telnet.socket
8.回滚操作
如果之前是rpm包安装的。并且按照以上步骤操作,可以直接以下命令进行回滚
# yum -y install openssh-clients # yum -y install openssh-server # yum -y install openssh
9.文档有用的话记得点个赞哦-.-,有什么问题也可以下方评论

参考

https://www.jianshu.com/p/220f7fd908b0