A beautiful, interactive CLI application for secure SSH key management with project-based namespaces.
- Project-Based Key Management: Organize SSH keys by project
- Secure Encryption: Generate keys with strong security parameters
- SSH Agent Integration: Easily manage your SSH agent and keys
- Server Management: Track and connect to servers with ease
- Interactive Interface: Beautiful TUI with colors and animations
- SSH Config Integration: Automatically update your SSH config
- Import/Export: Share project configurations securely
- SSH Tunneling: Create and manage SSH tunnels
# Clone the repository
git clone https://github.com/shaiknoorullah/sshield.git
cd sshield
# Install dependencies
npm install
# Build the project
npm run build
# Create a global symlink
npm link# Initialize the application
sshield init
# Generate a new SSH key
sshield key generate --name my-server
# Add a server
sshield server add --name web-server --hostname example.com --username admin
# Connect to a server
sshield connect web-server
# Start SSH agent and add project keys
sshield agent start
sshield agent add-project-keys
# Create an SSH tunnel
sshield tunnel web-server --remote-host db.internal --remote-port 5432The application uses a project-based approach to organize your SSH keys and servers:
- Each project has its own set of keys and server definitions
- Keys are stored securely with proper permissions
- Projects can be easily switched with
sshield project set-active - SSH config is automatically updated with your project servers
sshield init: Initialize the applicationsshield status: Show application statussshield dashboard: Open the interactive dashboard (coming soon)
sshield key generate: Generate a new SSH keysshield key list: List all keys in the current projectsshield key show <key-id>: Show key detailssshield key public <key-id>: Show public keysshield key delete <key-id>: Delete a keysshield key add <key-id>: Add key to SSH agentsshield key import <path>: Import an existing key
sshield project create <name>: Create a new projectsshield project list: List all projectssshield project show [id]: Show project detailssshield project set-active <id>: Set the active projectsshield project update <id>: Update project detailssshield project delete <id>: Delete a projectsshield project update-ssh-config: Update SSH config with project serverssshield project export <id>: Export project datasshield project import <path>: Import project data
sshield server add: Add a server to the current projectsshield server list: List all servers in the current projectsshield server delete <id>: Delete a server
sshield agent start: Start the SSH agentsshield agent stop: Stop the SSH agentsshield agent status: Show agent statussshield agent add-project-keys: Add all project keys to agentsshield agent remove-all-keys: Remove all keys from agentsshield agent generate-startup-script: Generate agent startup scriptsshield agent export-env: Export agent environment variables
sshield connect <server>: Connect to a serversshield tunnel <server>: Create an SSH tunnelsshield ssh-command <server>: Generate an SSH command
- Secure key generation with strong parameters
- Proper file permissions for all created files
- Project-based namespaces for security isolation
- SSH agent timeout for added security
- Automatic backup of SSH config files
MIT