Remote Console¶
Open a console on a machine from the portal without a direct network path to it. The portal offers up to four console types for a machine under Remote, all streamed through the endpoint's Guacamole service (guacd):
| Console | Slug | What it connects to | Transport |
|---|---|---|---|
| SSH Console | ssh |
The machine's own operating system | SSH to the machine on port 22 |
| BMC Serial Console | bmc-sol |
The server's serial console via its BMC | SSH to the BMC on port 22 |
| BMC KVM Console | bmc-kvm |
The BMC's graphical console | VNC through guacd, or a link to the vendor console |
| Hyper-V Console | hyperv |
A VM's video device on its Hyper-V host | RDP to the host on port 2179 |
The browser sends only the console type, the machine id and its auth token. Addresses, usernames, passwords and keys are resolved on the endpoint and injected into guacd there. See Remote Console Network Path for every connection the consoles make and the ports involved.
Prerequisites¶
Endpoint¶
The guacd-service resource broker must exist. The bootstrap-guacd task creates it.
Without it the portal hides the Remote button.
Which consoles a machine offers¶
The portal always offers the SSH console. It offers the BMC consoles when the machine has
ipmi/address, and the Hyper-V console when it has hyper-v/uuid. For BMC and Hyper-V the
endpoint asks the plugin's console-info action what is reachable, and disables an item
with the reason as a tooltip when it is not.
SSH console¶
| Parameter | Description |
|---|---|
console/ssh-key |
Private key the console authenticates with. Secure. |
console/ssh-user |
Account to log in as. Defaults to root. |
The matching public key has to be in the machine's authorized_keys. The supported way to
arrange that is the opt-in in bootstrap-ssh:
- Set
bootstrap-ssh/console-keytotrueon the global profile. - Run the endpoint bootstrap workflow.
bootstrap-sshcreates a console keypair, publishes the public half inaccess-keys-globaland stores the private half in the global profile'sconsole/ssh-key. - Machines provisioned after that get the key through the
ssh-accesstask. Machines provisioned earlier needssh-accessto run again.
The console does not read rsa/key-private. That param belongs to the Ansible and Kubespray
content, and a key placed there would be picked up by unrelated tasks.
BMC serial console¶
| Parameter | Description |
|---|---|
ipmi/address |
BMC address. |
ipmi/username, ipmi/password |
BMC credentials. The console SSHes to the BMC as this user. |
The BMC has to advertise a serial console over SSH in Redfish, under either
Managers/<id>.SerialConsole or Managers/<id>.CommandShell, and port 22 must be open
on the BMC.
Most vendor BMCs drop an SSH login onto a management shell, not the serial port. The console sends the vendor's entry command when it knows the BMC:
| BMC | Entry command | Note |
|---|---|---|
| Dell iDRAC | console com2 |
|
| Lenovo XCC | console 1 |
The BMC user needs Supervisor authority. An Operator account is refused with "User does not have the authority to issue this command". |
Dell and Lenovo have been checked on hardware. HPE iLO gets vsp, and other BMCs get no
entry command; if the session lands on a management shell, type the vendor's command.
BMC KVM console¶
| Parameter | Description |
|---|---|
ipmi/address, ipmi/username, ipmi/password |
As above. |
ipmi/console-vnc-port |
Set when the BMC exposes a standard VNC endpoint. The KVM is then streamed through guacd. |
ipmi/console-vnc-password |
The VNC server's own password, if it differs from ipmi/password. Secure. |
ipmi/console-url |
Set when the KVM is a vendor web application. The item opens it in a new browser tab. |
Set one of ipmi/console-vnc-port or ipmi/console-url. Redfish only says the BMC has a
graphical console, not whether it speaks VNC. iDRAC and XCC both use their own KVM
protocol, so they take the link-out. With neither param set the item is disabled with the
reason "BMC graphical console is not VNC capable".
Hyper-V console¶
The Hyper-V console has its own page with the host-side setup, including the per-VM
Grant-VMConnectAccess step that is the usual cause of a session that connects and
immediately closes: Hyper-V VM Console.
Opening a console¶
Open the machine in the portal and choose Remote, then the console type. The SSH, serial and Hyper-V consoles open in a window in the portal. The BMC KVM console opens in the portal when it streams over VNC and in a new tab when it is a vendor link.
Validation¶
Ask the endpoint what it can offer for a machine with a BMC or a Hyper-V UUID. Name the
provider with --plugin: ipmi for the BMC consoles, hyper-v for a VM console.
Every descriptor comes back with available and, when false, a reason. This is the
answer for a Dell iDRAC with ipmi/console-url set:
{
"consoles": [
{ "type": "bmc-kvm", "available": true, "transport": "link", "url": "https://<bmc-address>" },
{ "type": "bmc-sol", "available": true, "transport": "guacd-ssh", "port": 22, "command": "console com2" }
]
}
To confirm that no credentials reach the browser, open the browser's developer tools while a
console is connected and look at the WebSocket request. Its query string carries only
console, machine and token.
Troubleshooting¶
The console window shows a checklist for the console type when a session fails. The same items, with what to check:
SSH console
- Port 22 is open on the machine.
console/ssh-keyresolves for the machine. Check with--aggregate, since it usually comes from the global profile.console/ssh-useris the account whoseauthorized_keysholds the public half.- If the OS has
ssh-rsadisabled, addHostKeyAlgorithms +ssh-rsato the end of/etc/ssh/sshd_configon the machine and restartsshd. - A password prompt in the terminal means no key was offered. DRP's default sshd policy is key-only for root, so the prompt cannot be satisfied. Fix the key, not the password.
BMC serial console
console-inforeportsbmc-solavailable. If not, the reason names the missing piece: Redfish unreachable, wrong credentials, or no serial console over SSH.- The session opens on a management shell instead of the serial console: the entry
command for that vendor is missing or wrong. The command sent is in the
commandfield of theconsole-infoanswer. - On Lenovo XCC, "User does not have the authority to issue this command" means the BMC
user lacks Supervisor authority.
console-infocannot see this and still reports the console available.
BMC KVM console
- Neither
ipmi/console-vnc-portnoripmi/console-urlis set: the item is disabled with that reason. - Streaming VNC fails to authenticate: the VNC server usually has its own password. Set
ipmi/console-vnc-password. - Redfish reports the graphical console disabled: enable it on the BMC.
Hyper-V console
- See Hyper-V VM Console for the connect-then-close case.
hyper-v/console-hostmust name the Hyper-V host, andhyper-v/console-usernameandhyper-v/console-passwordmust authenticate to the host, not the guest.
The Remote button is not shown
- The endpoint has no
guacd-serviceresource broker. Runbootstrap-guacd.
Parameters read back as null
drpcli machines get <uuid> param <name>reads only params set directly on the machine. Add--aggregateto see values inherited from profiles.