-
Notifications
You must be signed in to change notification settings - Fork 1
Quick Start
Erik Meinders edited this page Sep 9, 2025
·
1 revision
TL;DR for experienced users who want to get up and running quickly.
Ensure you have:
- ✅ Python 3.9+
- ✅ AWS CLI v2 configured with profile
- ✅ Session Manager plugin installed
- ✅ VSCode with Remote SSH extension
- ✅ EC2 instance(s) to connect to
# Quick verification
python --version && aws --version && uvx --version# Install uv if not already installed
pip install uv# Interactive setup (recommended for first time)
uvx cloudx-proxy setup
# Non-interactive with all parameters
uvx cloudx-proxy setup --profile myprofile --instance i-1234567890abcdef0 --hostname myserver --yesWhat this does:
- Validates your AWS profile and permissions
- Creates SSH key pair (or uses existing)
- Configures SSH with three-tier structure
- Sets up VSCode-compatible SSH configuration
Add to your VSCode settings.json:
{
"remote.SSH.configFile": "~/.ssh/vscode/config",
"remote.SSH.connectTimeout": 90,
"remote.SSH.serverInstallTimeout": 120
}- Open VSCode Remote Explorer → SSH Targets
- Find your host:
cloudx-{env}-{hostname}(e.g.,cloudx-dev-myserver) - Click Connect
uvx cloudx-proxy setup
# Uses 'vscode' profile and creates ~/.ssh/vscode/configuvx cloudx-proxy setup --profile production --ssh-key prod-keyuvx cloudx-proxy setup --1password
# Creates keys in 1Password vault, uses SSH agent# First instance
uvx cloudx-proxy setup --profile dev --instance i-111111 --hostname web-server
# Second instance (reuses environment config)
uvx cloudx-proxy setup --profile dev --instance i-222222 --hostname db-serveruvx cloudx-proxy setup --profile prod --ssh-key prod --aws-env production --1password Work --yes- First connection: 2-3 minutes (instance startup + VSCode server install)
- Subsequent connections: ~30 seconds
- Setup process: 2-5 minutes depending on options
# Check configuration
uvx cloudx-proxy list --detailed
# Test direct connection
uvx cloudx-proxy connect i-1234567890abcdef0 22 --profile myprofile
# Verify AWS access
aws sts get-caller-identity --profile myprofile- Increase timeouts if connections are slow
- Check
remote.SSH.configFilepath is correct - Enable
remote.SSH.showLoginTerminalfor debugging
- Ensure instance has SSM agent running
- Check IAM permissions for SSM and EC2 Instance Connect
- Verify region matches between profile and instance
uvx cloudx-proxy setup --ssh-config ~/.ssh/company/config
# Update VSCode configFile accordinglyuvx cloudx-proxy setup --aws-env staging
# Uses ~/.aws/aws-envs/staging/ for credentialsuvx cloudx-proxy setup \
--profile ci-runner \
--ssh-key deploy-key \
--instance i-1234567890abcdef0 \
--hostname prod-api \
--yesAfter setup, you'll have:
~/.ssh/vscode/
├── config # SSH configuration file
├── vscode # Private SSH key (if not using 1Password)
└── vscode.pub # Public SSH key
~/.ssh/config # Updated to include vscode config
SSH Configuration Structure:
-
Generic:
cloudx-*(common settings) -
Environment:
cloudx-{env}-*(auth, proxy command) -
Host:
cloudx-{env}-hostname(specific instance)
-
Multiple Instances: Run setup again with different
--instanceand--hostname - Team Setup: Share configuration patterns and AWS permissions
- Advanced Features: Explore 1Password Integration and AWS Permissions
- Troubleshooting: Check Troubleshooting Guide if issues arise
For detailed explanations, see the Installation Guide and Setup Command pages.