SSH 服务攻防实战

3 阅读2分钟

一、SSH 协议基础

  • 定义:类似 Windows RDP 的远程操作协议,支持跨地域远程控制 Linux 服务器。
  • 应用场景:无需现场操作机房/云服务器,通过网络完成管理。

二、准备工作

⚠️ 本文仅用于授权学习与安全测试,严禁对未授权服务器进行攻击操作,遵守网络安全法律法规。

1. 环境准备

  • 一台 Kali Linux 虚拟机(攻击机,自带 Hydra 等渗透工具)
  • 一台 Ubuntu/CentOS 虚拟机(靶机,用于部署 SSH 服务)
  • 两台虚拟机处于同一局域网(可互相 ping 通)

2. 工具准备

  • Xshell / Xftp(Windows 端远程连接与文件传输工具)
  • 密码字典(可手动创建或下载常见弱密码字典)

3. 权限准备

  • 靶机获取 root 权限(用于安装与配置 SSH 服务)
  • 攻击机获取 root 权限(用于执行 Hydra 破解命令)

三、环境配置实操

1. 包管理器使用

  • 作用:Linux 安装软件的核心工具(类似手机应用商城)。
  • 主流类型:RedHat/CentOS 用 yum;Ubuntu/Kali 用 apt
  • 关键操作:修改镜像源(国内推荐阿里云镜像:developer.aliyun.com/mirror/),解决海外源下载慢问题。

2. SSH 安装与配置步骤

2.1. 操作

  1. 切换 root 用户:sudo su(获得最高权限)

  2. 安装 SSH 服务:apt install openssh-server(需 root 权限+联网)。

  3. 查看是否安装成功service ssh status

  4. 修改配置文件:nano /etc/ssh/sshd_config

  5. 关键配置项(用查找指令找到后,删除#注释并修改):PermitRootLogin yes(允许 root 远程登录);PasswordAuthentication yes(允许密码认证)

  6. 修改完成后,按 ctrl+xY→回车退出。

  7. 重启 SSH 服务:service ssh restart

2.2. Xshell

  • Xshell‌ 是一款‌终端模拟器(SSH/Telnet 客户端)‌,主要用于通过命令行安全地连接和管理远程 Linux/Unix 服务器。

2.3. Xftp

  • Xftp‌ 是一款‌图形化 SFTP/FTP 文件传输客户端‌,用于在本地 Windows 系统与远程服务器之间高效、安全地传输文件。

四、SSH 攻击实战

(1)漏洞排查:

  • 操作逻辑:查询 SSH 版本,判断是否存在历史漏洞,版本高于漏洞影响范围则转向暴力破解
  • 命令:ssh -V

(2)暴力破解(Hydra 工具):Kali 系统自带

  • 原理:批量尝试密码组合猜测系统密码。
  • 核心工具:Hydra(自动读取密码本,批量尝试登录)
  • 前提条件:准备密码本(包含大量可能的密码组合)。
  • 命令格式: hydra -l 【用户名,如root】 -P 【密码字典路径】【ssh://目标机IP】
  • 用xshell远程登录验证。

    • 新建
    • 用户身份验证
    • 连接

五、总结

修改 SSH 配置文件 → 是让服务器允许被远程登录(开启登录通道);

Hydra 暴力破解 → 是破解登录密码(拿到登录权限);

只有两者结合(服务器开了通道 + 拿到正确密码),才能成功远程登录。