Shell¶
Unix shell configuration, SSH setup, and Git workflows for a productive development environment.
Overview¶
The Shell section is organized into three key areas:
- Basic - Shell profiles, environment variables, aliases, and history management
- SSH - SSH keys, keychain integration, connection multiplexing, and security best practices
- Git - Git configuration, aliases, workflows, and commit best practices
Quick Start¶
Set Up Your Environment¶
Start with Basic to configure your shell profile with essential environment variables and aliases.
Configure SSH¶
Next, follow SSH to generate SSH keys with passphrases and set up keychain for secure, convenient authentication.
Configure Git¶
Finally, set up Git with global configuration, aliases, and workflows for efficient version control.
Key Components¶
Basic Shell¶
- Shell profile configuration (Bash/Zsh)
- Environment variables
- Useful aliases
- Command history management
SSH Configuration¶
- Ed25519 key generation with passphrases
- SSH key permissions and security
- SSH multiplexing for faster connections
- SSH keychain for passphrase caching
- Jump host proxy configuration
- Connection optimization
Git Workflows¶
- Git configuration and aliases
- Commit message best practices
- Branch naming conventions
- Common Git workflows
- Helpful Git commands
- SSH integration with Git
Security-First Approach¶
This setup emphasizes:
- 🔐 SSH keys with passphrases - Protecting your keys even if compromised
- 🔄 Keychain caching - Convenience without sacrificing security
- 🚀 Connection multiplexing - Faster, more reliable remote access
- 📝 Clear Git workflows - Organized, traceable development history
- 🛡️ Best practices - Industry standards for secure shell usage
Topics by Use Case¶
Remote Server Access¶
Git Development¶
- Configure Git globally (Git)
- Add Git aliases for productivity (Git)
- Follow branch naming conventions (Git)