VS Code Remote SSH lets you develop on your Breeze (VPS) with the full power of your local VS Code editor. Your code runs on the server, but you edit it as if it were local — with full IntelliSense, debugging, and extension support.
Prerequisites
- VS Code installed on your local machine (version 1.96 or later)
- SSH access to your Breeze with key-based authentication
- Your Breeze running Ubuntu 22.04+, Debian 12+, or AlmaLinux 9+
Step 1: Install the Remote SSH Extension
- Open VS Code
- Press
Ctrl+Shift+X(orCmd+Shift+Xon macOS) to open Extensions - Search for "Remote - SSH" by Microsoft
- Click Install
Step 2: Configure Your SSH Connection
Set Up Your SSH Config File
# Edit ~/.ssh/config on your LOCAL machine
# macOS/Linux: ~/.ssh/config
# Windows: C:UsersYourName.sshconfig
Host my-breeze
HostName 198.48.63.100
User deploy
IdentityFile ~/.ssh/id_ed25519
ForwardAgent yes
ServerAliveInterval 60
ServerAliveCountMax 3
# You can add multiple servers:
Host staging
HostName 198.48.63.101
User deploy
IdentityFile ~/.ssh/id_ed25519
Host production
HostName 198.48.63.102
User deploy
IdentityFile ~/.ssh/id_ed25519
Step 3: Connect to Your Breeze
- Press
Ctrl+Shift+P(orCmd+Shift+Pon macOS) - Type "Remote-SSH: Connect to Host"
- Select your server from the list (e.g., "my-breeze")
- A new VS Code window opens connected to your server
- First connection takes 1-2 minutes to install the VS Code server component
Step 4: Open Your Project
# Once connected, use File → Open Folder
# Navigate to your project directory, e.g.:
/var/www/myapp
/home/deploy/projects/myapi
Step 5: Install Remote Extensions
Extensions run either locally or on the remote server. Development extensions need to be installed on the remote:
- PHP Intelephense — PHP language support
- ESLint — JavaScript linting
- Prettier — Code formatting
- GitLens — Enhanced Git integration
- Docker — If using containers on the server
Useful VS Code Remote Features
Integrated Terminal
# The VS Code terminal runs directly on your server
# Press Ctrl+` to open it
# You can run commands just like SSH:
sudo systemctl status nginx
tail -f /var/log/nginx/error.log
php artisan migrate
Port Forwarding
Access server ports through your local machine:
- Press
Ctrl+Shift+P→ "Forward a Port" - Enter the port number (e.g., 3000 for a Node.js dev server)
- Access it at
http://localhost:3000in your local browser
# Port forwarding is automatic for many frameworks.
# When you run a dev server, VS Code detects it and offers to forward:
npm run dev # VS Code auto-forwards the port
php artisan serve # Same — auto-detected
python manage.py runserver # Auto-detected
File Transfer
Drag and drop files between your local machine and the remote server directly in the VS Code file explorer.
Performance Optimization
# For large projects, exclude unnecessary directories from file watching
# Add to .vscode/settings.json on the remote:
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/vendor/**": true,
"**/.git/**": true,
"**/storage/logs/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/vendor": true
},
"remote.SSH.useLocalServer": true
}
Troubleshooting
Connection Fails
# Test SSH from your terminal first
ssh my-breeze
# If that fails, check:
# 1. Is the server running?
# 2. Is SSH port 22 open in the firewall?
# 3. Is your SSH key added to the agent?
ssh-add ~/.ssh/id_ed25519
# 4. Check VS Code Remote SSH logs:
# Ctrl+Shift+P → "Remote-SSH: Show Log"
Slow Performance
- Exclude large directories from file watching (see above)
- Ensure your server has at least 1GB of available RAM
- Use a wired internet connection if possible
- Close unnecessary remote extensions
Security Considerations
- Always use SSH keys, never password authentication
- Use a dedicated user (e.g.,
deploy), not root - Set
ForwardAgent yesonly for trusted servers - Keep VS Code and the Remote SSH extension updated
- The VS Code server component runs under your user account on the remote machine