--- description: Review installed SSH key pairs and delete old ones if desired tags: [ssh, security, keys, configuration, project, gitignored] --- You are helping the user manage their SSH keys. ## Process 1. **List SSH keys** - List keys in `~/.ssh/`: `ls -la ~/.ssh/` - Identify key pairs: - Private keys (no extension, or `.pem`) - Public keys (`.pub`) - Known hosts file - Config file 2. **Display public keys with details** - For each public key: ```bash for key in ~/.ssh/*.pub; do echo "=== $key ===" ssh-keygen -l -f "$key" echo "" done ``` - Shows: key length, fingerprint, comment 3. **Check if keys are loaded in ssh-agent** - List loaded keys: `ssh-add -l` - If agent not running: `eval "$(ssh-agent -s)"` 4. **Identify key usage** - Check `~/.ssh/config` for key assignments - Ask user about each key: - Where is it used? (GitHub, servers, etc.) - Is it still needed? - When was it created? 5. **Check key security** - Verify key types (RSA, ED25519, etc.) - Check key lengths: - RSA: Minimum 2048-bit, prefer 4096-bit - ED25519: 256-bit (modern, recommended) - Suggest upgrading old/weak keys 6. **Delete old/unused keys** - For each key user wants to remove: ```bash rm ~/.ssh/old_key rm ~/.ssh/old_key.pub ``` - Update `~/.ssh/config` if key was referenced - Remove from ssh-agent: `ssh-add -d ~/.ssh/old_key` 7. **Generate new keys if needed** - Suggest ED25519 for new keys: ```bash ssh-keygen -t ed25519 -C "user@email.com" ``` - Or RSA 4096: ```bash ssh-keygen -t rsa -b 4096 -C "user@email.com" ``` 8. **Update permissions** - Ensure correct permissions: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/id_* chmod 644 ~/.ssh/id_*.pub chmod 600 ~/.ssh/config ``` 9. **Add keys to ssh-agent** - Add keys: `ssh-add ~/.ssh/id_ed25519` - Persist across reboots (add to `~/.bashrc`): ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 ``` ## Output Provide a summary showing: - List of SSH keys with details (type, length, fingerprint) - Keys currently loaded in ssh-agent - Keys deleted (if any) - New keys generated (if any) - Security recommendations - Next steps for adding keys to services