SSH Access to Environments
Azzor environments run on your hosting provider's servers. To SSH in, your public key must be added to the server.
Quick Start
1
Generate an SSH key (if you don't have one):
ssh-keygen -t ed25519 -C "your-email@example.com"
2
Copy your public key:
cat ~/.ssh/id_ed25519.pub
3
Add it to your hosting provider (see guides below)
4
Connect:
ssh forge@your-environment.preview.azzor.com
Provider Guides
Laravel Forge
The most common setup for Azzor environments.
- Log in to forge.laravel.com
- Select your server → SSH Keys
- Paste your public key and click Add
📖 Forge SSH Keys Documentation
You can also add keys via the Forge API:
curl -X POST "https://forge.laravel.com/api/v1/servers/{server-id}/keys" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"My Laptop","key":"ssh-ed25519 AAAA..."}'
Kubernetes
For K8s-based environments, use kubectl exec for container access:
kubectl exec -it pod/your-env-pod -- /bin/bash
SSH sidecars are available for environments that require traditional SSH access.
Generic VPS / DigitalOcean / AWS
SSH into the server and add your key manually:
# As root or the deploy user:
echo "your-public-key" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Troubleshooting
| Issue | Fix |
|---|---|
Permission denied (publickey) | Key not added to server, or wrong username |
Host key verification failed | First connection — accept the fingerprint when prompted |
Connection refused | Port 22 not open on the server firewall |
Connection timed out | DNS not propagated, or wrong IP address |
Security Best Practices
- Use Ed25519 keys (stronger and shorter than RSA)
- Use a passphrase on your private key
- Rotate keys periodically
- Remove keys when team members leave