Console access

Caution

We are currently in the process of migrating server console access to a new platform. This page provides documentation for the new platform only.

To check if your virtual, dedicated, or colo server has been migrated to the new platform, look for a Web Console link in the control panel. If it's there, your server has been migrated, and the rest of this page applies. Otherwise, please refer to the old support pages for virtual server consoles or dedicated servers.

Please feel free to contact support for more information.

The new console platform provides access to:

  • For virtual servers:
    • VNC
    • Virtual serial console
  • For dedicated and colo servers:
    • Serial console
    • IPMI Serial-over-LAN

Web access

Access is available through a web terminal in the control panel, using the "Web console" link on the corresponding server page.

For physical serial ports, this also allows changing the baud rate, sending breaks, and monitoring serial line state. For IPMI Serial-over-LAN ports, only break sending is supported.

Command line access (advanced users)

It is also possible to access consoles using our command-line out-of-band (OOB) access client, mythic-oob-client. For most users, we recommend using the web client unless you have a specific need to use the command-line client.

To install the client from our APT repository (on Debian, Ubuntu, or other Debian-based distribution):

wget -qO /etc/apt/trusted.gpg.d/support@mythic-beasts.com.asc https://mirror.mythic-beasts.com/mythic/support@mythic-beasts.com.gpg.key
echo deb http://mirror.mythic-beasts.com/mythic mythic main > /etc/apt/sources.list.d/mythic-beasts.list
apt update
apt install mythic-oob-client

The client is also available from PyPI, the Python package repository. If you are familiar with Python, you can install this with pip or a similar tool. We recommend installing in a virtualenv.

Otherwise, we recommend using pipx, which is a tool that makes it easy to use scripts from Python packages. For example, on Fedora:

sudo dnf install pipx
pipx ensurepath
pipx install mythic-oobclient

Once you have installed the client, you can see the usage using the --help option:

$ mythic-oob-client --help
usage: mythic-oob-client [-h] [-c CONFIG] [-q] [-d] {vnc,console,power} ...

Client for Mythic Beasts OOB services, version 1.0.0

positional arguments:
  {vnc,console,power}   Mode
    vnc                 Connect to VPS VNC console
    console             Connect to server serial console
    power               Server power control

options:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Config file path
  -q, --quiet           Quiet mode
  -d, --debug           Debug mode

Email support@mythic-beasts.com for help

Using the client

The first time you try to use the client, it will prompt to you configure it:

$ mythic-oob-client console vds:example
Please configure your API credentials in /home/user/.mythic/oob.conf

Edit the above file with a text editor and fill in your API key and secret, which you can get from the API Users page in the control panel. You will need to create an API key that has access to the VPS API and/or the Physical Server API (once this becomes available). You can use separate keys for the two APIs if you prefer (see the comments in the configuration file).

The examples given below use the service identifier vds:example, but dedicated/colo server service identifiers or asset tags can also be used (except for VNC access).

Warning: the vnc, console -p, and console -t modes will listen on a local port and forward to your server's console. We recommend against using these options on a multi-user system, as the forwarded port would be accessible to anyone using the same computer.

VNC consoles

You can use the client to access a virtual server VNC console. The client will listen on a local port (default 5900), to which you will need to connect using a VNC viewer.

$ mythic-oob-client vnc vds:example
Connect to localhost, port 5900, using a VNC viewer
Press Ctrl+C to terminate

While this is running, connect to port 5900 (display 0) on localhost with a VNC viewer to access the VNC console of your virtual server.

For more options, run mythic-oob-client vnc --help.

Serial consoles

You can also use the client to access serial consoles of virtual and physical servers.

There are four modes for console access:

  • A terminal emulator (which includes commands for sending breaks, changing baud rate, and power control, and displays serial line state [if supported by the console])
  • Forwarding the console to a local port:
  • wrapped in Telnet -- so that you can connect with a Telnet client
  • raw serial data -- in order to connect with your own client or script
  • Raw terminal mode -- puts your terminal in raw mode and connects it to the console of your server

To use the terminal emulator:

$ mythic-oob-client console vds:example

Once inside, for help, press Ctrl+B, type help, and press enter.

To use Telnet to access your console and run Telnet inside the client:

$ mythic-oob-client console -t 3000 -R 'telnet %h %p' vds:example
Trying ::1...
Connected to ::1.
Escape character is '^]'.

example login: 

To use raw mode:

$ mythic-oob-client console -r vds:example

example login: 

To end the session, you will need to send a TERM signal to the process from another window, or just close your terminal window.

You can also use the client to review the console log:

$ mythic-oob-client console -l 2 vds:example
2025-03-12 13:07:37: example login: 
2025-03-12 13:07:37: example login: 

For more details, run mythic-oob-client console --help.

Power control

The client also support power control of physical and virtual servers. Run mythic-oob-client power --help for details.

Direct access to websockets

Behind the scenes, both the web terminal and the command-line client access consoles using websockets.

These websockets can also be accessed directly via our VPS API. The equivalent API for Physical Servers will be released shortly.

The APIs provide console capabilities (whether a console can set baud rate, send breaks, etc.) and one-time token URLs for websockets. These URLs expire once used, or after five minutes. Please refer to the API documentation for details.

Multiple types of websocket are supported for serial or virtual server consoles:

  • serial: plain serial data
  • telnet: serial data wrapped in Telnet (can be used if you want to access your console with a Telnet client)
  • state: JSON messages with port state updates (baud rate, serial line state) (only on physical serial ports)

The APIs also provide access to console logs and the ability to send breaks (where supported). Again, please refer to the API docs for details.