Skip to content

IPMI & Redfish

Info

This page is about the server-side IPMI emulation if you want to manage PiKVM using ipmitool or something similar. If you want to use the PiKVM Web UI to manage the server using IPMI (that is, as an IPMI client), see GPIO functions with IPMI plugin.

Warning

Although PiKVM supports the IPMI protocol, we strongly recommend that you DO NOT USE IT outside of trusted networks due to the protocol's insecurity.

Please consider to using the Redfish or KVMD API instead of it.

Also, IPMI can not work with 2FA.


IPMI BMC

IPMI is a legacy protocol for remote server management. It can be useful for managing a large number of machines with PiKVM. Its advantage is that it is supported by many enterprise systems.

Step by step: Enabling IPMI server on PiKVM
  1. Switch the filesystem to the RW-mode:

    [root@pikvm ~]# rw
    
  2. Set up IPMI account in file /etc/kvmd/ipmipasswd (see the comment inside it).

  3. Enable the kvmd-ipmi daemon:

    [root@pikvm ~]# systemctl enable --now kvmd-ipmi
    
  4. Switch the filesystem back to the RO:

    [root@pikvm ~]# ro
    
  5. Try some commands on the client PC:

    $ ipmitool -I lanplus -U admin -P admin -H pikvm power status
    $ ipmitool -I lanplus -U admin -P admin -H pikvm power on
    

IPMI SoL

IPMI supports the ability to get console access to the server using Serial-over-LAN. With this feature PiKVM will act as a proxy for your server's COM port.

To use this feature, you will need a USB-COM adapter that you need to connect to the PiKVM. The COM port of the adapter need to be connected to the server.

Step by step: Enabling IPMI SoL for USB-COM adapter

As with IPMI BMC, you need to configure kvmd-ipmi server (see the previous chapter about IPMI BMC) and add the following configuration to /etc/kvmd/override.yaml:

ipmi:
    sol:
        device: /dev/ttyUSB0  # Path of your USB-COM adapter
        speed: 115200

Then restart the kvmd-ipmi server: systemctl restart kvmd-ipmi.

All requests that it receives over the network regarding the COM port will be forwarded to your server. For example:

[root@pikvm ~]$ ipmitool -I lanplus -U admin -P admin -H pikvm sol activate

Redfish

Redfish is a more modern server management protocol designed to replace IPMI. It is based on HTTP and fixes many security issues. If possible, we recommend using it instead of IPMI, or using the KVMD API.

PiKVM supports the Redfish natively and provides a power management handles with it.

To access the Redfish API, use HTTP Basic Auth methods. Also you can use the redfishtool:

[root@pikvm ~]$ redfishtool -S Never -r pikvm root
[root@pikvm ~]$ redfishtool -S Never -u admin -p admin -r pikvm Systems
[root@pikvm ~]$ redfishtool -S Never -u admin -p admin -r pikvm Systems reset ForceOff