---
title: "22 - SSH"
weight: 22
date: "2026-03-08T22:45:09+08:00"
lastmod: "2026-03-10T13:26:55+08:00"
---

💡 **学习提示**: 本文档介绍 **22 - SSH** 的渗透测试方法，适合信息安全初学者和从业人员参考。

⚠️ **法律声明**: 本文档仅供学习和授权测试使用。未经授权的系统测试可能违反法律法规。

---

## 22 - SSH 服务

### 基本信息

**SSH (Secure Shell)** 是一种网络协议，用于在不安全的网络上安全地远程访问计算机系统。它对于维护远程访问时数据的机密性和完整性至关重要。

**默认端口:** 22/TCP

```
PORT   STATE SERVICE
22/tcp open  ssh
```

**常见 SSH 服务器软件:**
- **OpenSSH** - OpenBSD 项目，预装于 BSD、Linux 和 Windows 10+
- **Dropbear** - 轻量级 SSH，用于嵌入式设备和 OpenWrt
- **PuTTY** - Windows 常用 SSH 客户端
- **CopSSH** - Windows 版 OpenSSH

**常见 SSH 库:**
- **libssh** - 跨平台 C 库，被 KDE 和 GitHub 使用
- **wolfSSH** - 嵌入式环境专用
- **Apache MINA SSHD** - Java 实现
- **paramiko** - Python SSH 库

### 信息收集

#### 横幅抓取 (Banner Grabbing)

```bash
nc -vn <IP> 22
```

#### 自动化审计

```bash
# ssh-audit 工具
python3 ssh-audit.py <IP>

# 功能：
# - 识别 SSH 版本、设备类型、操作系统
# - 分析密钥交换、加密、MAC 算法
# - 检测弱算法和不安全配置
# - 提供安全建议
```

#### 获取服务器公钥

```bash
ssh-keyscan -t rsa <IP> -p 22
```

#### 弱加密算法检测

```bash
# 使用 Nmap 扫描
nmap --script ssh2-enum-algos -p 22 <IP>
nmap --script ssh-hostkey -p 22 <IP>
```

### 常见攻击

#### 1. 暴力破解

```bash
# Hydra 爆破
hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://<IP>

# 多用户爆破
hydra -L users.txt -P passwords.txt ssh://<IP>

# Medusa 爆破
medusa -h <IP> -U users.txt -P passwords.txt -M ssh
```

#### 2. SSH 密钥认证绕过

```bash
# 检查是否存在未授权访问
ssh -i ~/.ssh/id_rsa user@<IP>
```

#### 3. 已知漏洞利用

```bash
# 检查 SSH 版本
nmap -sV -p 22 <IP>

# 使用 Metasploit
use auxiliary/scanner/ssh/ssh_version
set RHOSTS <IP>
run
```

### 搜索引擎语法

#### FOFA

```bash
# FOFA 搜索语法
port="22" && protocol="ssh"
port="22" && service="ssh"
app="OpenSSH"
app="Dropbear"
```

#### Shodan

```bash
# Shodan 搜索语法
port:22 ssh
port:22 product:OpenSSH
port:22 product:Dropbear
```

#### ZoomEye

```bash
# ZoomEye 搜索语法
port:22 service:ssh
app:"OpenSSH"
app:"Dropbear"
```

### 防御建议

- ✅ 禁用密码认证，使用密钥认证
- ✅ 禁用 root 登录
- ✅ 修改默认端口（非常规端口）
- ✅ 使用强密码策略
- ✅ 配置失败登录限制 (fail2ban)
- ✅ 定期更新 SSH 服务器
- ✅ 禁用 SSHv1，仅使用 SSHv2
- ✅ 使用强加密算法

---

## 📖 参考资料

- [HackTricks - 22-ssh](https://book.hacktricks.wiki/en/network-services-pentesting/22-ssh.html)
- ssh-audit: https://github.com/jtesta/ssh-audit
- OpenSSH: https://www.openssh.com/
- OWASP SSH Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/SSH_Security_Cheat_Sheet.html
