0


OpenSSH 安全漏洞,Centos7升级ssh服务

OpenSSH常见的安全漏洞,升级到 openssh-9.7p1可修复。

  1. 下载 openssh-9.7p1.tar.gz 和 openssl-1.1.1w.tar.gz 两个安装文件

openssh下载地址:Index of /pub/OpenBSD/OpenSSH/portable/

openssl下载地址:Releases · openssl/openssl · GitHub

  1. 将下载的文件上传到 /usr/local/,并解压到当前目录

  1. 查看当前ssh、ssl的版本
  1. openssl version
  2. openssh -V

4.安装相关依赖

  1. #执行命令,安装相关依赖
  2. yum -y install gcc pam-devel zlib-devel openssl-devel net-tools
  1. 安装ssl,进入ssl解压目录
  1. #进入解压目录
  2. cd /usr/local/openssl-1.1.1w/

6.创建安装目录

  1. #创建目录
  2. mkdir /opt/openssl

7.编译安装

  1. #配置编译
  2. ./config --prefix=/opt/openssl
  3. #构建程序
  4. make
  5. #安装编译
  6. make install

以上步骤无误,继续下一步操作

8.更新lib文件

  1. ldd /opt/openssl/bin/openssl
  2. echo "/opt/openssl/lib" >> /etc/ld.so.conf
  3. # 更新库
  4. ldconfig -v
  5. # 绝对路径查看openssl版本
  6. ldd /opt/openssl/bin/openssl

如果报错找不到库

则更新缓存库

  1. #更新缓存库
  2. sudo ldconfig
  3. #查看版本
  4. openssl version

  1. 更新bin文件
  1. # 查看旧版本的openssl命令路径
  2. which openssl
  3. # 重命名openssl
  4. mv /bin/openssl /bin/openssl.old
  5. # 使用软连接的方式更新openssl命令
  6. ln -s /opt/openssl/bin/openssl /bin/openssl
  7. # 查看版本
  8. openssl version

以上openssl已更新完毕。继续下一步操作

  1. 升级openssh服务,需要另外用telnet连接,连接到服务器进行openssh升级,首先必须先安装telnet服务,才可以进行telnet链接

1)、安装telnet 服务

  1. #安装telnet服务软件包
  2. sudo yum install telnet-server
  3. #启动
  4. sudo systemctl start telnet.socket
  5. #设置开机自启
  6. sudo systemctl enable telnet.socket
  7. #检查telnet状态
  8. sudo systemctl status telnet.socket
  1. ![](https://img-blog.csdnimg.cn/direct/da9473b8d5ab4241a5f7754d0023fb24.png)

2)、配置端口:23

  1. #开启telnet服务的端口:23。安全组也不要忘记配置
  2. sudo firewall-cmd --zone=public --add-port=23/tcp --permanent
  3. sudo firewall-cmd --reload

3)配置访问账号

  1. #添加用户
  2. sudo useradd newuser
  3. #添加密码,newuser为用户名
  4. sudo passwd newuser
  5. #配置管理员权限
  6. sudo usermod -aG wheel newuser

4)、用telnet进行连接,可以使用MobaXterm连接,也可以使用windows命令连接

windows命令行

  1. telnet your__ip_address ==> telnet xxx.xx.xx.xx
  1. Telnet连接成功了,开始升级SSH服务。

1)、卸载openssh的rpm包

  1. sudo bash -c 'for i in $(rpm -qa | grep openssh); do rpm -e $i --nodeps; done'

2)、进入解压缩文件目录

  1. /usr/local/openssh-9.7p1/

3)、配置编译OpenSSH服务

  1. ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/opt/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening

4)、构建程序及安装

  1. # 构建程序
  2. make
  3. # 安装编译
  4. make install

如果make install 的过程中报错 Permissions 0640 for '/etc/ssh/ssh_host_ed25519_key' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored。 执行以下命令,再重新安装

  1. #权限设置
  2. sudo chmod 600 /etc/ssh/ssh_host_ed25519_key
  3. #安装
  4. make install

5)、复制并修改启动sshd.init脚本

  1. sudo cp /usr/local/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/
  2. sudo cat /etc/init.d/sshd.init | grep SSHD
  3. sudo sed -i "s/SSHD=\/usr\/sbin\/sshd/SSHD=\/usr\/local\/openssh\/sbin\/sshd/g" /etc/init.d/sshd.init
  4. sudo cat /etc/init.d/sshd.init | grep SSHD
  5. sudo cat -n /etc/init.d/sshd.init | grep ssh-keygen
  6. sudo sed -i "s#/usr/bin/ssh-keygen -A#/usr/local/openssh/bin/ssh-keygen -A#g" /etc/init.d/sshd.init
  7. sudo cat -n /etc/init.d/sshd.init | grep ssh-keygen

执行结果

  1. ![](https://img-blog.csdnimg.cn/direct/52423d1204da4961b1986f7e3c94b434.png)

6)、修改配置文件(sshd_config)

  1. # 开启允许X11转发
  2. echo 'X11Forwarding yes' | sudo tee -a /etc/ssh/sshd_config
  3. # 开启允许密码验证
  4. echo "PasswordAuthentication yes" | sudo tee -a /etc/ssh/sshd_config
  5. # 开启root登录认证, 如果未启动root登录认证,root会报错无法登录
  6. echo 'PermitRootLogin yes' | sudo tee -a /etc/ssh/sshd_config

7)、启动OpenSSH

  1. sudo cp -arp /usr/local/openssh/bin/* /usr/bin/
  2. sudo /etc/init.d/sshd.init status --查看状态
  3. sudo /etc/init.d/sshd.init start -- 启动openssh服务,否则无法通过ssh连接服务
  4. #start|stop|restart|reload|condrestart|status 根据需要跟不同的参数
  5. #sudo /etc/init.d/sshd.init {start|stop|restart|reload|condrestart|status}
  6. #查看安装版本
  7. ssh –V
  8. sudo chmod +x /etc/rc.d/rc.local
  9. sudo sh -c 'echo "/etc/init.d/sshd.init start" >> /etc/rc.d/rc.local'

8)、查看OpenSSH运行状态

9)、使用ssh协议连接centos7,检查openssh服务

  1. 也可用telnet验证:ssh username@ip地址,输入服务器的账户密码。

10)验证连接成功后,卸载telnet服务

  1. yum -y remove telnet telnet-server
标签: ssh 运维 centos

本文转载自: https://blog.csdn.net/apple12655/article/details/138305982
版权归原作者 LazyCat2222 所有, 如有侵权,请联系我们删除。

“OpenSSH 安全漏洞,Centos7升级ssh服务”的评论:

还没有评论