NEW Bare Metal Servers with 20G Dedicated Unmetered Bandwidth 20G Dedicated Unmetered Servers Read more STATUS

Open the Remote Console (KVM / IPMI) on Your Server — Portal and API

Sep 15, 2026 9 min read

The remote console is the screen and keyboard of your machine, in a browser tab. It works when SSH does not: a server that hangs at boot, a firewall rule that locked you out, a kernel that panics, a Windows login that expired. Nothing needs to be running on the machine itself.

There are two doors, and this guide covers both:

  • Remote console — a browser-based console we drive for you. Bare metal and cloud. One click, no credentials to manage. Use this first.
  • Management interface access (bare metal only) — temporary, address-locked access to the server's own management controller (IPMI or BMC) with a throwaway login. For hardware the console cannot drive, or when you need the controller's full feature set, such as mounting an installer image over the network.

The one thing that trips people up: a bare-metal console or management session admits exactly one public IP address, the one you give when you open it. Open it from that same connection. A VPN that switched on in between, a phone on mobile data, or an office that leaves through a different address will see a refused connection, not an error message.

Method 1 — In the portal

Bare-metal servers: the remote console

  1. Log in at amoni.app, open Servers and click the server.
  2. Click Console in the header, or the Console tab. The same panel opens either way.
  3. Your public IP is filled in automatically with the address you are browsing from. Check it. If you will open the console from a different network, or a VPN is about to come up, correct it now.
  4. Leave Console mode on Standard. Switch to Web only if Standard turns out not to work with this server's controller; the troubleshooting section says how to tell.
  5. Click Launch Console. Preparing the session takes a few seconds.
  6. The panel turns green with Console session active and a link. Click it; the console opens in a new tab. The line underneath repeats which address the session admits.
The Console tab of a bare-metal server in the Amóni portal: a Your public IP field pre-filled with the visitor's address, a Console mode selector set to Standard, and the Launch Console button
The console request. The address is detected for you; correct it if you will connect from somewhere else.
The Console tab after launching: a green Console session active box with the session link and a note that the session only admits the address it was opened for
The session link, and the address it is locked to.

The console opens as a Server Console page: the server's name and a Connected badge in the header, a CTRL + ALT + DEL button, and the machine's screen from power-on onwards, BIOS and boot loader included. On most of our hardware the screen is the controller's own viewer running inside that page, with its menu bar (Virtual Media, Macro, Power Control and so on) along the top of the window. The small toolbar on the left belongs to the page itself: keyboard, clipboard, full screen, settings, disconnect.

The Server Console page in Amóni showing a bare-metal server's screen in the controller's viewer, currently in the BIOS setup utility, with the Virtual Media, Macro and Power Control menus along the top of the viewer window
The console with the server in its BIOS. The viewer's menu bar is where virtual media and power control live.

If the screen is black, the server is probably powered off: use Start in the portal header (see reboot and power), or the viewer's own Power Control menu.

Boot from an installer or rescue image (virtual media)

The console can present an image from our library to the server as if a USB drive or DVD were plugged into it. That is how you run an installer we do not offer as an automated reinstall, boot a live system to repair or copy data, or run a vendor utility. It works whatever state the installed system is in.

  1. In the viewer's menu bar, open Virtual Media → Virtual Storage.
  2. On the Device1 tab, set Logical Drive Type to ISO File and click Open Image….
  3. Pick an image from the library. It holds current installers (AlmaLinux, Ubuntu Server, Proxmox VE), a recovery image, netboot.xyz for anything else that boots over the network, and vendor tools such as the Intel network boot utility. Click Open.
  4. Click Plug in, then OK. The image is now attached; the server sees a new removable drive.
  5. Reboot the server (viewer Power Control → Reset, or Reboot in the portal) and open the one-time boot menu during power-on, F11 on most of our machines. Choose the virtual drive from the list; it appears as a USB or CD-ROM entry alongside the installed disks and the network boot entries.
  6. When you are done, come back to Virtual Storage and click Plug Out, so the next reboot goes back to the disk.
The Virtual Storage dialog opened from the console viewer's Virtual Media menu: a Device1 tab with a Logical Drive Type selector, an image file path field, and Refresh, Plug in, Plug Out and OK buttons
Virtual Storage. Pick the drive type, choose the image, plug it in.
The Open dialog listing the image library available to the console: AlmaLinux, Ubuntu Server 18.04, 20.04 and 24.04 live installers, Proxmox VE 8 and 9, netboot.xyz, a recovery image and Intel boot utilities
The image library. Need something that is not here? Ask support; images are added on request.
The server's one-time boot device menu shown in the console, listing the installed SSDs, the UEFI network boot entries, the built-in EFI shell and Enter Setup
The boot device menu, reached with F11 during power-on. With an image plugged in, the virtual drive is listed here too.

Installing an operating system this way is a manual install: it does not set the hostname, keys or reverse DNS for you, and the portal will not know which OS is on the machine until you tell it. For the supported images, the automated reinstall is faster and records everything.

Bare-metal servers: management interface access

Lower on the same tab. Use this only when the console above does not work with your hardware, or when you need the controller's own interface.

  1. Check Your public IP, the same rule as above.
  2. Choose Keep open for: one to four hours. The session closes itself when the time runs out.
  3. Click Open management access.
  4. The panel shows Access is open with a link to the management interface, a username, and a “view it once” link for the password. Open that link straight away and copy the password: it is revealed once and expires with the session.
  5. When you are done, click Close access now rather than leaving it to expire.
The Management interface access section after opening a session: the interface link, a temporary operator username, a view-it-once password link, the admitted address and expiry time, and a Close access now button
A management session: temporary login, one address, automatic expiry.

The login is a temporary operator account created for this session, never the controller's administrator. It disappears when the session closes.

Cloud instances

  1. Open Virtual Machines and click the instance.
  2. Click Console in the header. It is available in every power state, stopped included, because the VM that will not boot is exactly the one that needs it.
  3. The console opens in a new tab. The link behind it is single-use and valid for one minute, so if the tab was blocked by a pop-up blocker, allow pop-ups for amoni.app and click Console again.
A cloud instance's console in Amóni: a black terminal showing the serial console starting and a login prompt, with the console toolbar on the left
A cloud instance's console: the serial terminal, with a login prompt. Log in as root with the instance's password.

Cloud consoles are not locked to an address; the single-use link is the protection. What you see is the instance's serial terminal: text only, which is why a Linux instance shows a login prompt rather than a desktop. Log in with the root password (see reset the root password if you do not have it). Cloud instances boot images differently; that flow is documented separately once it is available in the portal.

Method 2 — With the API

Console sessions are minted for a browser, so the API's job is to hand you a launch URL; you open it where you sit. You need a key with the Servers scope (servers.write) or the VMs scope (vms.write). Reference: api.amoni.app/v1/docs.

Bare metal: remote console

Pass the public address that will open the console. The API cannot detect it: the machine calling the API is rarely the one with the browser.

MY_IP=$(curl -s https://api.ipify.org)
curl -s "https://api.amoni.app/v1/servers/955/console?authorized_ip=$MY_IP&mode=standard" \
  -H "Authorization: Bearer nr_live_..."
{
  "success": true,
  "data": {
    "available": true,
    "console_url": "https://console.amoni.app/s/7f3a9c2e1b/kvm",
    "mode": "standard",
    "authorized_ip": "198.51.100.77"
  }
}

Open console_url in a browser on 198.51.100.77. mode accepts standard (default) or web.

Bare metal: management interface access

curl -s -X POST https://api.amoni.app/v1/servers/955/bmc-access \
  -H "Authorization: Bearer nr_live_..." \
  -H "Content-Type: application/json" \
  -d '{"authorized_ip": "198.51.100.77", "hours": 2}'
{
  "success": true,
  "data": {
    "url": "https://bmc-4821.access.amoni.app",
    "expires_at": "2026-09-15 17:30",
    "authorized_ip": "198.51.100.77",
    "operator_user": "op-7f3a9c",
    "credentials_url": "https://amoni.app/secret/9Qk2mX"
  }
}

hours is 1 to 4, default 3. The password is not in the response: credentials_url reveals it once, then expires with the session. Fetch it immediately and store it somewhere safe. Close the session when done:

curl -s -X DELETE https://api.amoni.app/v1/servers/955/bmc-access \
  -H "Authorization: Bearer nr_live_..."
{ "success": true, "data": { "message": "Remote access closed." } }

Closing when nothing is open is not an error; the message then says “No remote access session to close.”

Cloud instances

curl -s -X POST https://api.amoni.app/v1/vms/990204/411/console \
  -H "Authorization: Bearer nr_live_..."
{ "success": true, "data": { "launch_url": "/api/v2/portal/pve-launch/Xk29...a1" } }

The launch URL is relative to the portal: open https://amoni.app + launch_url. It is single-use and expires after 60 seconds, so mint it when you are ready to click, not before.

What the API will tell you

Status code Meaning
200 Session minted.
401 invalid_api_key The key is wrong, expired or revoked.
403 insufficient_scope The key lacks servers.write or vms.write.
404 No server or VM with that id on your account. Body: {"success": false, "error": "Not found"}.
422 authorized_ip missing or not an IP address, or hours out of range (framework shape: {"message": "The authorized ip field is required.", "errors": {…}}); no remote console registered for the server; or management access could not be set up (“Remote access could not be set up right now. Please contact support.”).
503 Cloud: console access is not enabled for this VM yet. Open a ticket.
500 The console platform did not answer: “The action could not be completed right now. Please try again shortly or contact support.” Retry in a moment.

Troubleshooting

  • The console link opens to a refused connection or a blank page. The address you are connecting from is not the one the session admits. Common causes: a VPN came up, you switched from Wi-Fi to mobile data, or your network uses several outgoing addresses. Check your current address (for example at api.ipify.org) and launch a new session with it.
  • Black screen in the console. The server is powered off, or is in the first seconds of POST. Check the Running / Stopped badge; click Start if needed and wait.
  • The console opens but shows no video, or the keyboard does not respond. The controller does not support the standard console path. Launch again with Console mode: Web. If that also fails, use management interface access.
  • “A remote console is not available for this server.” This server is not registered for the browser console. Management interface access works regardless; if that is also missing, open a ticket.
  • I closed the password link without copying it. The password is shown once. Close the session with Close access now and open a new one; a new login is generated.
  • Key combinations go to my own computer. Use the console's virtual keyboard or its send-keys menu for Ctrl+Alt+Del and function keys.
  • Windows says the account is locked or the password expired. The console gets you to the login screen; the fix is in Windows account locked.
  • It boots to an error I cannot fix from the console. Rescue mode boots a live system from which you can repair disks, boot loaders and configuration.

Still stuck?

Open a support ticket from the portal with the server selected in the “related server” field, the address you launched the console for, and the time. We can see the session on our side.

Built for production

Why teams stay with Netrouting

We connect you to the Internet using network engineers (and not order takers) and hardware and infrastructure that is built to last, so we can pick up where you left off when you need us.

  • Expert-Level Support Our staff is available 24 hours a day, 7 days a week to handle network administration and systems management issues as they occur.
  • Scalable Solutions Build whatever depth or breadth your infrastructure needs and then scale as required.
  • Enhanced Security Enable 2-factor authentication and also limit by IP address from the control panel to secure your account.
  • Cost-Efficient Infrastructure You will always receive the best value from your investment as you will be optimized for budget without any compromise on Quality.