- 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.
3.1 KiB
3.1 KiB
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
ssh -o StrictHostKeyChecking=no besuadmin@<IP>
Individual Commands
Central US (cus)
ssh -o StrictHostKeyChecking=no besuadmin@10.1.1.4
East US (eus)
ssh -o StrictHostKeyChecking=no besuadmin@10.2.1.4
East US 2 (eus2)
ssh -o StrictHostKeyChecking=no besuadmin@10.3.1.4
West US (wus)
ssh -o StrictHostKeyChecking=no besuadmin@10.4.1.4
West US 2 (wus2)
ssh -o StrictHostKeyChecking=no besuadmin@10.5.1.4
Batch Commands
Test connectivity to all VMs
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
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)
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
# 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
# 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=noflag - Or manually accept host keys:
ssh-keyscan <IP> >> ~/.ssh/known_hosts
Last Updated: After reviewing SSH connectivity requirements