Files
smom-dbis-138/terraform/phases/phase1/SSH_COMMANDS.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

123 lines
3.1 KiB
Markdown

# SSH Commands from Nginx Proxy to Backend VMs
## Backend VM IPs
| IP Address | Region | Region Code |
|------------|--------|-------------|
| 10.1.1.4 | Central US | cus |
| 10.2.1.4 | East US | eus |
| 10.3.1.4 | East US 2 | eus2 |
| 10.4.1.4 | West US | wus |
| 10.5.1.4 | West US 2 | wus2 |
## SSH Command Format
```bash
ssh -o StrictHostKeyChecking=no besuadmin@<IP>
```
## Individual Commands
### Central US (cus)
```bash
ssh -o StrictHostKeyChecking=no besuadmin@10.1.1.4
```
### East US (eus)
```bash
ssh -o StrictHostKeyChecking=no besuadmin@10.2.1.4
```
### East US 2 (eus2)
```bash
ssh -o StrictHostKeyChecking=no besuadmin@10.3.1.4
```
### West US (wus)
```bash
ssh -o StrictHostKeyChecking=no besuadmin@10.4.1.4
```
### West US 2 (wus2)
```bash
ssh -o StrictHostKeyChecking=no besuadmin@10.5.1.4
```
## Batch Commands
### Test connectivity to all VMs
```bash
for IP in 10.1.1.4 10.2.1.4 10.3.1.4 10.4.1.4 10.5.1.4; do
echo "=== Testing $IP ==="
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 besuadmin@$IP 'echo Connected successfully' || echo " Connection failed"
done
```
### Execute command on all VMs
```bash
for IP in 10.1.1.4 10.2.1.4 10.3.1.4 10.4.1.4 10.5.1.4; do
echo "=== Executing on $IP ==="
ssh -o StrictHostKeyChecking=no besuadmin@$IP '<your-command-here>'
done
```
## Setting Up SSH Keys (If Not Already Configured)
### Step 1: Generate SSH key on Nginx proxy (if not exists)
```bash
ssh besuadmin@20.160.58.99
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
cat ~/.ssh/id_rsa.pub
```
### Step 2: Copy public key to each backend VM
```bash
# From Nginx proxy, copy public key to each VM
for IP in 10.1.1.4 10.2.1.4 10.3.1.4 10.4.1.4 10.5.1.4; do
ssh-copy-id -o StrictHostKeyChecking=no besuadmin@$IP
done
```
### Step 3: Alternative - Manual key copy via Azure Run Command
```bash
# Get public key from Nginx proxy
PUBLIC_KEY=$(ssh besuadmin@20.160.58.99 "cat ~/.ssh/id_rsa.pub")
# Add to each VM's authorized_keys
for REGION in "cus" "eus" "eus2" "wus" "wus2"; do
RG="az-p-${REGION}-rg-comp-001"
VM=$(az vm list --resource-group "$RG" --query "[0].name" -o tsv)
az vm run-command invoke \
--resource-group "$RG" \
--name "$VM" \
--command-id RunShellScript \
--scripts "echo '$PUBLIC_KEY' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
done
```
## Notes
- **Username**: `besuadmin` (as configured in Terraform)
- **StrictHostKeyChecking**: Disabled to avoid host key verification prompts
- **ConnectTimeout**: 5 seconds recommended for batch operations
- **Network**: VNet peerings are configured, so connectivity should work once SSH keys are set up
## Troubleshooting
### Permission denied (publickey)
- SSH keys not configured between Nginx proxy and backend VMs
- Solution: Set up SSH keys using the steps above
### Connection refused
- VM not running or port 22 blocked
- Solution: Check VM status and NSG rules
### Host key verification failed
- Use `-o StrictHostKeyChecking=no` flag
- Or manually accept host keys: `ssh-keyscan <IP> >> ~/.ssh/known_hosts`
---
**Last Updated**: After reviewing SSH connectivity requirements