Skip to content

IPMI in Practice

IPMI is still common on older servers, and you will absolutely run into it in production. The useful thing to know is the small set of commands and security points that matter day to day.

IPMI is mostly used for:

  • Powering a server on, off, or cycling it
  • Reading sensor data like temperature, fan speed, and voltage
  • Checking the system event log
  • Accessing the serial console over LAN
  • Pulling hardware inventory

ipmitool is the standard CLI for IPMI. The remote form you will use most often is:

Terminal window
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus <subcommand>

Use lanplus rather than lan when possible. lanplus is the modern IPMI 2.0 path and is the one you should expect to work with.

Terminal window
# Power state
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus power status
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus power on
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus power off
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus power cycle
# Sensors
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus sdr list
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus sdr type Temperature
# Event log
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus sel list
# Serial console
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus sol activate
# Exit SOL with: ~.
# Inventory
ipmitool -H <bmc-ip> -U <user> -P <pass> -I lanplus fru print

A practical detail: ipmitool output is plain text. If you build automation around it, expect to parse text rather than JSON.

IPMI can also be used locally on the host itself via the kernel interface:

Terminal window
ipmitool power status
ipmitool sdr list

That local path is useful for on-host automation, but remote IPMI-over-LAN is what you will use for out-of-band access.

IPMI has a weak security story compared with modern management APIs. The two things to remember are:

  • IPMI should not be reachable from untrusted networks
  • Do not assume the BMC is safe just because it is “internal”

You will still see IPMI in:

  • older hardware
  • existing automation that has not been migrated
  • pre-OS provisioning workflows
  • quick one-off operations when ipmitool is simply the fastest tool