CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

CentOS7升级openssh

概述升级过程分为三步配置telnet-server升级openssl升级openssh配置telnet-server升级openssh是一个很危险的操作,特别是在远程连接服务器的情况下,万一升级过程中因为网络不好或者其它一些原因导致ssh连接断开,那么就很有可能导致再也无法通过ssh连上服务器,因此升级之前我们要配置好备用的远程连接方法,这里我们使用telnet-server来作为备用连接

# 安装telnet-server yum -y install telnet-server # 启动并设置开机自启动 systemctl start telnet.socket && systemctl enable telnet.socket # 如果有防火墙,则需要放行23端口 firewall-cmd –zone=public –add-port=23/tcp –permanent # 在使用 telnet 连接服务器时,默认是不允许使用root登陆的,因此需要创建一个普通用户并赋予sudo权限 # 添加普通用户并设置密码 useradd huge echo 123456 | passwd –stdin huge # 增加huge账号的sudo权限 # 在配置文件 /etc/sudoers 中添加配置,但该文件默认是没有写权限的,因此需要先增加写权限 chmod u+w /etc/sudoers vi /etc/sudoers huge ALL=(ALL) ALL # 上面配置完成后就可以在windows下的终端中使用telnet命令来测试连接 telnet 192.168.0.31 23

升级openssl新版本的openssh对openssl的版本是有要求的,因此需要先升级openssl的版本,升级过程参考 https://zhuanlan.zhihu.com/p/553012987升级openssh

# 下载安装包,当前最新的openssh版本是9.0p1 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz # 接下来的步骤建议使用telnet的方式连接服务器后在操作 # 首先停止当前的ssh服务器 systemctl stop sshd # 备份当前ssh服务 cp -a /etc/ssh /etc/ssh.bak cp -a /usr/sbin/sshd /usr/sbin/sshd.bak cp -a /usr/bin/ssh /usr/bin/ssh.bak # 查看当前openssh的软件包 rpm -qa | grep openssh openssh-clients-7.4p1-16.el7.x86_64 openssh-7.4p1-16.el7.x86_64 openssh-server-7.4p1-16.el7.x86_64 # 卸载这三个软件包(快捷卸载方法:rpm -e `rpm -qa | grep openssh` –nodeps) rpm -e openssh-clients-7.4p1-16.el7.x86_64 –nodeps rpm -e openssh-server-7.4p1-16.el7.x86_64 rpm -e openssh-7.4p1-16.el7.x86_64 # 安装依赖包 yum install -y gcc gcc-c++ glibc make automake autoconf zlib zlib-devel pcre-devel perl perl-Test-Simple # 解压源码包 tar -zxvf openssh-9.0p1.tar.gz cd openssh-9.0p1 # 查看INSTALL文件里面有安装条件以及安装说明 cat INSTALL # 编译安装 ./configure –prefix=/usr/local/openssh –with-ssl-dir=/usr/local/openssl –with-zlib make make install # 正常情况下按上面的配置编译安装即可,如果想安装其它模块,则需要安装对应依赖 # 如下面列出的一些模块,以及对应的依赖包 # –with-pam –with-ssl-engine –with-selinux # yum install -y pam-devel libselinux-devel # 配置启动脚本,源码包中提供了启动脚本 # 配置启动脚本前先检查原来openssh的systemd配置文件,如果有则将其删除,防止和新的启动脚本冲突 # 正常情况下这些脚本都会在卸载老版本openssh的自动删除 ls /usr/lib/systemd/system/ssh* rm -f /usr/lib/systemd/system/ssh* # 拷贝启动脚本 cp contrib/redhat/sshd.init /etc/init.d/sshd # 如果安装了pam模块则需要拷贝sshd.pam配置文件 # cp contrib/redhat/sshd.pam /etc/pam.d/ # 建立软连接 ln -s /usr/local/openssh/etc /etc/ssh ln -s /usr/local/openssh/sbin/sshd /usr/sbin/ ln -s /usr/local/openssh/bin/* /usr/bin/ systemctl daemon-reload # 启动并设置开机自启动 systemctl start sshd && systemctl enable sshd # 查看状态,已经是 running 状态了 systemctl status sshd ● sshd.service – SYSV: OpenSSH server daemon Loaded: loaded (/etc/rc.d/init.d/sshd; bad; vendor preset: enabled) Active: active (running) since Wed 2022-08-10 22:35:16 CST; 1 day 17h ago Docs: man:systemd-sysv-generator(8) Main PID: 10712 (sshd) CGroup: /system.slice/sshd.service ├─10712 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups ├─13611 sshd: hckj [priv] ├─13613 sshd: hckj@pts/0 ├─13614 -bash ├─13645 sudo -i ├─13646 -bash └─13711 systemctl status sshd # 查看版本号已经升级成功 ssh -V OpenSSH_9.0p1, OpenSSL 1.1.1q 5 Jul 2022 # ssh的默认配置文件是禁止root用户远程登录的 # 若需要root用户远程登录,则按修改如下配置文件,然后重启ssh服务即可 vi /etc/ssh/sshd_config PermitRootLogin yes systemctl restart sshd # ssh升级完成,测试ssh连接是否正常(有条件可以重启服务再测试ssh是否连接正常) # 测试正常后就可以删除 telnet-server 和对应的用户了,删除步骤如下 systemctl stop telnet.socket systemctl disable telnet.socket rpm -e telnet-server # 删除用户 userdel -r nihao # 编辑sudo配置文件,去除对应配置段 vi /etc/sudoers # 恢复sudo配置文件的权限 chmod u-w /etc/sudoers

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容