Skip to content

Shell

Unix shell configuration, SSH setup, and Git workflows for a productive development environment.

Overview

The Shell section is organized into three key areas:

  1. Basic - Shell profiles, environment variables, aliases, and history management
  2. SSH - SSH keys, keychain integration, connection multiplexing, and security best practices
  3. 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

  1. Generate SSH keys (SSH)
  2. Configure SSH multiplexing (SSH)
  3. Set up jump hosts for secure access (SSH)

Git Development

  1. Configure Git globally (Git)
  2. Add Git aliases for productivity (Git)
  3. Follow branch naming conventions (Git)

Shell Productivity

  1. Set up shell profile (Basic)
  2. Add useful aliases (Basic)
  3. Configure environment variables (Basic)