zebbern/claude-code-guide/ssh-penetration-testing
- community
Checking that the SKILL.md file is still in the repository.
This skill should be used when the user asks to "pentest SSH services", "enumerate SSH configurations", "brute force SSH credentials", "exploit SSH vulnerabilities", "perform SSH tunneling", or "audit SSH security". It provides comprehensive SSH penetration testing methodologies and techniques.
Install
npx vskill@latest install zebbern/claude-code-guide/ssh-penetration-testingSKILL.md
SSH Penetration Testing
Purpose
Conduct comprehensive SSH security assessments including enumeration, credential attacks, vulnerability exploitation, tunneling techniques, and post-exploitation activities. This skill covers the complete methodology for testing SSH service security.
Prerequisites
Required Tools
- Nmap with SSH scripts
- Hydra or Medusa for brute-forcing
- ssh-audit for configuration analysis
- Metasploit Framework
- Python with Paramiko library
Required Knowledge
- SSH protocol fundamentals
- Public/private key authentication
- Port forwarding concepts
- Linux command-line proficiency
Outputs and Deliverables
- SSH Enumeration Report - Versions, algorithms, configurations
- Credential Assessment - Weak passwords, default credentials
- Vulnerability Assessment - Known CVEs, misconfigurations
- Tunnel Documentation - Port forwarding configurations
Core Workflow
Phase 1: SSH Service Discovery
Identify SSH services on target networks:
Phase 2: SSH Enumeration
Gather detailed information about SSH services:
Phase 3: SSH Configuration Auditing
Identify weak configurations:
Key configuration weaknesses to identify:
- Weak key exchange algorithms (diffie-hellman-group1-sha1)
- Weak ciphers (arcfour, 3des-cbc)
- Weak MACs (hmac-md5, hmac-sha1-96)
- Deprecated protocol versions
Phase 4: Credential Attacks
Brute-Force with Hydra
Brute-Force with Medusa
Password Spraying
Phase 5: Key-Based Authentication Testing
Test for weak or exposed keys:
Check for exposed keys:
Phase 6: Vulnerability Exploitation
Search for known vulnerabilities:
Phase 7: SSH Tunneling and Port Forwarding
Local Port Forwarding
Forward local port to remote service:
Remote Port Forwarding
Expose local service to remote network:
Dynamic Port Forwarding (SOCKS Proxy)
Create SOCKS proxy for network pivoting:
ProxyJump (Jump Hosts)
Chain through multiple SSH servers:
Phase 8: Post-Exploitation
Activities after gaining SSH access:
Phase 9: Custom SSH Scripts with Paramiko
Python-based SSH automation:
Phase 10: Metasploit SSH Modules
Use Metasploit for comprehensive SSH testing:
Quick Reference
SSH Enumeration Commands
| Command | Purpose | |
|---|---|---|
nc <host> 22 | Banner grabbing | |
ssh-audit <host> | Configuration audit | |
nmap --script ssh* | SSH NSE scripts | |
searchsploit openssh | Find exploits |
Brute-Force Options
| Tool | Command | |
|---|---|---|
| Hydra | hydra -l user -P pass.txt ssh://host | |
| Medusa | medusa -h host -u user -P pass.txt -M ssh | |
| Ncrack | ncrack -p 22 --user admin -P pass.txt host | |
| Metasploit | use auxiliary/scanner/ssh/ssh_login |
Port Forwarding Types
| Type | Command | Use Case | |
|---|---|---|---|
| Local | -L 8080:target:80 | Access remote services locally | |
| Remote | -R 8080:localhost:80 | Expose local services remotely | |
| Dynamic | -D 1080 | SOCKS proxy for pivoting |
Common SSH Ports
| Port | Description | |
|---|---|---|
| 22 | Default SSH | |
| 2222 | Common alternate | |
| 22222 | Another alternate | |
| 830 | NETCONF over SSH |
Constraints and Limitations
Legal Considerations
- Always obtain written authorization
- Brute-forcing may violate ToS
- Document all testing activities
Technical Limitations
- Rate limiting may block attacks
- Fail2ban or similar may ban IPs
- Key-based auth prevents password attacks
- Two-factor authentication adds complexity
Evasion Techniques
- Use slow brute-force:
-t 1 -w 5 - Distribute attacks across IPs
- Use timing-based enumeration carefully
- Respect lockout thresholds
Troubleshooting
| Issue | Solutions | |
|---|---|---|
| Connection Refused | Verify SSH running; check firewall; confirm port; test from different IP | |
| Authentication Failures | Verify username; check password policy; key permissions (600); authorized_keys format | |
| Tunnel Not Working | Check GatewayPorts/AllowTcpForwarding in sshd_config; verify firewall; use ssh -v |
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/ssh-penetration-testing/SKILL.md
Popularity
- Repository stars
- 3,779
- Repository forks
- 354
- 7-day trend score
- 41
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 1 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/zebbern/claude-code-guide/ssh-penetration-testing)