Complete restructure from patterns/examples/reference to technology-focused directories: • Created technology-specific directories with comprehensive documentation: - /tdarr/ - Transcoding automation with gaming-aware scheduling - /docker/ - Container management with GPU acceleration patterns - /vm-management/ - Virtual machine automation and cloud-init - /networking/ - SSH infrastructure, reverse proxy, and security - /monitoring/ - System health checks and Discord notifications - /databases/ - Database patterns and troubleshooting - /development/ - Programming language patterns (bash, nodejs, python, vuejs) • Enhanced CLAUDE.md with intelligent context loading: - Technology-first loading rules for automatic context provision - Troubleshooting keyword triggers for emergency scenarios - Documentation maintenance protocols with automated reminders - Context window management for optimal documentation updates • Preserved valuable content from .claude/tmp/: - SSH security improvements and server inventory - Tdarr CIFS troubleshooting and Docker iptables solutions - Operational scripts with proper technology classification • Benefits achieved: - Self-contained technology directories with complete context - Automatic loading of relevant documentation based on keywords - Emergency-ready troubleshooting with comprehensive guides - Scalable structure for future technology additions - Eliminated context bloat through targeted loading 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.2 KiB
3.2 KiB
SSH Key Management for Home Labs
Overview
This document outlines best practices for managing SSH keys in home lab environments, focusing on security, reliability, and maintainability.
Core Principles
Dual-Key Strategy
- Primary keys: Daily use authentication
- Emergency keys: Backup access when primary keys fail
- Separate key pairs: Home network vs cloud servers
- Multiple authorized keys: Each server accepts both primary and emergency
Key Lifecycle Management
- Generation: 4096-bit RSA keys with descriptive comments
- Distribution: Automated deployment with
ssh-copy-id - Backup: Centralized storage on NAS with recovery documentation
- Rotation: Annual for primary keys, bi-annual for emergency keys
- Monitoring: Monthly health checks and access verification
Architecture Patterns
Network Segmentation
Home Network (10.10.0.0/24)
├── Primary: ~/.ssh/homelab_rsa
├── Emergency: ~/.ssh/emergency_homelab_rsa
└── Wildcard config for easy access
Cloud Servers (Public IPs)
├── Primary: ~/.ssh/cloud_servers_rsa
├── Emergency: ~/.ssh/emergency_cloud_rsa
└── Individual host configurations
Backup Strategy
NAS Storage: /mnt/NV2/ssh-keys/
├── backup-YYYYMMDD-HHMMSS/
│ ├── All key pairs (*.rsa, *.rsa.pub)
│ ├── SSH config
│ └── RECOVERY_INSTRUCTIONS.md
└── maintenance-YYYYMMDD-HHMMSS/
├── Current state backup
├── Key health report
└── MAINTENANCE_REPORT.md
Security Considerations
Authentication Methods
- Eliminate password authentication after key deployment
- Use key-based authentication exclusively
- Deploy multiple keys per server for redundancy
- Maintain console access as ultimate fallback
Access Control
- User-specific keys (avoid root when possible)
- Service-specific aliases for organized access
- Strict host key checking for unknown servers
- Accept-new policy for trusted home network
Key Protection
- Proper file permissions (600 for private keys)
- No passphrase for automation (home lab context)
- Regular backup verification
- Secure storage location on NAS
Maintenance Practices
Automated Monitoring
- Monthly maintenance script via cron
- Key health verification
- Connection testing
- Backup rotation (keep 10 most recent)
- Age-based rotation alerts
Recovery Procedures
- Emergency key deployment for immediate access
- NAS backup restoration for complete recovery
- Console access documentation for worst-case scenarios
- Provider web console access for cloud servers
Implementation Guidelines
- Start with key generation using standardized naming
- Deploy primary keys first and test thoroughly
- Add emergency keys to all servers
- Configure SSH client with aliases and settings
- Implement backup strategy with NAS storage
- Schedule maintenance automation
- Document recovery procedures
- Test emergency access regularly
Related Documentation
- Implementation:
examples/networking/ssh-homelab-setup.md - Troubleshooting:
reference/networking/ssh-troubleshooting.md - Security patterns:
patterns/networking/security.md