TL;DR

Serve the .bin over HTTP. Over SSH: load -source http://…/ilofirmware.bin under /map1/firmware1.

When iLO firmware is old enough that browsers refuse its TLS, SSH plus HTTP still works.

1. Serve the .bin over HTTP

iLO pulls the firmware; you do not SCP it in. python3 -m http.server on the management network is enough, or nginx. Use the official HPE ilo*.bin.

2. Log in and load

1
2
3
4
ssh -c aes256-cbc Administrator@<ilo-ip>
show /map1/firmware1
cd /map1/firmware1
load -source http://<http-server>/ilofirmware.bin

-c aes256-cbc is the iLO 2/3 trick: modern OpenSSH will not offer the BMC’s ciphers unless you ask.

show /map1/firmware1 prints the current version before you touch anything. Keep it.

What to expect

  • load takes minutes. Do not kill the session.
  • iLO reboots itself. The host does not power off (firmware lives on the BMC).
  • If HTTP is not reachable from the iLO NIC, load fails with a useless error: oemhp_ping the HTTP server.

After reboot, show /map1/firmware1 again and confirm the version string.

Write-up this is based on: Upgrade HP iLO via SSH.

See also: iLO CLI commands.