From kube-dc
SSH into Kube-DC VMs using kubectl: extract auto-generated SSH keys from secrets, retrieve internal IP/FIP/EIP, connect securely. For debugging running project VMs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kube-dc:ssh-into-vmThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- VM must be running with `qemu-guest-agent` active
qemu-guest-agent active{org}-{project}kubectl get secret ssh-keypair-default -n {project-namespace} \
-o jsonpath='{.data.id_rsa}' | base64 -d > /tmp/vm_ssh_key
chmod 600 /tmp/vm_ssh_key
Internal IP (from VMI status):
kubectl get vmi {vm-name} -n {project-namespace} \
-o jsonpath='{.status.interfaces[0].ipAddress}'
Floating IP (if FIP exists):
kubectl get fip -n {project-namespace}
EIP + LoadBalancer (if SSH service exists):
kubectl get svc {vm-name}-ssh -n {project-namespace} \
-o jsonpath='{.status.loadBalancer.ingress[0].ip}'
ssh -i /tmp/vm_ssh_key {os-user}@{ip-address}
| OS | User |
|---|---|
| Ubuntu | ubuntu |
| Debian | debian |
| Windows | kube-dc |
rm /tmp/vm_ssh_key
ssh-keypair-default secret (keys: id_rsa, id_rsa.pub)authorized-keys-default secret (key: admin)authorized-keys-default via accessCredentials~/.ssh/authorized_keys# Add your own public key to the authorized-keys secret
kubectl edit secret authorized-keys-default -n {project-namespace}
# Add a new data key with your base64-encoded public key
Or override accessCredentials in the VM manifest to point to a custom secret.
After SSH connection:
# 1. Verify SSH key was extracted (before connecting)
test -f /tmp/vm_ssh_key && echo "Key exists" || echo "Key missing"
ls -la /tmp/vm_ssh_key
# Expected: -rw------- (600 permissions)
# 2. Verify VM has IP and guest agent is running
kubectl get vmi {vm-name} -n {project-namespace} -o jsonpath='{.status.interfaces[0].ipAddress}'
# Expected: non-empty IP address
kubectl get vmi {vm-name} -n {project-namespace} -o jsonpath='{.status.conditions[?(@.type=="AgentConnected")].status}'
# Expected: True
# 3. Test SSH connectivity (non-interactive)
ssh -i /tmp/vm_ssh_key -o StrictHostKeyChecking=no -o ConnectTimeout=5 {os-user}@{ip} echo "SSH OK"
# Expected: "SSH OK"
Success: Key extracted, VM has IP, AgentConnected=True, SSH returns output. Failure:
chmod 600npx claudepluginhub kube-dc/kube-dc-public --plugin kube-dcDeploys a KubeVirt virtual machine in a Kube-DC project with SSH access, cloud-init config, and optional external IP via LoadBalancer. Provides OS image lookup, DataVolume creation, and SSH key extraction steps.
Creates, manages, and connects to a headless Windows 11 VM in Docker with SSH access. Use for spinning up, stopping, restarting, or SSH-ing into a Windows VM.
Assists with Kubernetes kubectl operations: debugging (logs, describe, exec, port-forward), managing resources (deployments, services, configmaps, secrets), and cluster tasks (scaling, rollouts, nodes). Use for pods, services, or troubleshooting.