TL;DR

To manage an HPE Smart Array controller from Proxmox you need ssacli. The guide that ranks first on Google (aljax.us) is out of date and, as written, fails. Three things changed:

  1. The HPE repo no longer answers over HTTP (port 80) → use https://.
  2. The GPG key in the guide is the old one → today it signs with GPG-KEY2-mcp.
  3. The guide warns “HPE removed the repo in Feb 2026” → false, it’s still live.

Jump straight to the corrected procedure if you just want the copy/paste.

Tested on Proxmox VE 8 (Debian bookworm) on a host with an HPE Smart Array P840ar controller, on 2026-09-23.

The problem

ssacli (formerly hpssacli) is HPE’s CLI for Smart Array controllers: it lets you see controllers, physical disks, logical arrays, and their health without going into iLO or rebooting into the ROM. On a Proxmox node it’s the practical way to identify bays and check disks while the box is running.

The community “standard” path is to add HPE’s MCP repo to apt. But if you copy the steps from old guides you hit two errors, one after the other:

1
Connection failed [IP: ... 80]

and, if you fix the first but not the second:

1
2
3
W: GPG error: https://downloads.linux.hpe.com/SDR/repo/mcp bookworm/current Release:
   The following signatures couldn't be verified because the public key is not available:
   NO_PUBKEY E3FE26E774C3A4A2

1. The HTTP endpoint is dead

The MCP repo stopped serving over cleartext HTTP. The guides register deb http://downloads.linux.hpe.com/... and apt update hangs with Connection failed on port 80. The fix is simply to use HTTPS in the sources.list (apt-transport-https already ships in bookworm).

2. The GPG key in the guide is wrong

Guides point to hpePublicKey2048_key1.pub. The repo no longer signs with that key: today it uses GPG-KEY2-mcp.

  • File: GPG-KEY2-mcp
  • Type: RSA-4096
  • Fingerprint: 9E8C 4A25 C494 08EF A8D0 9D96 E3FE 26E7 74C3 A4A2
  • Validity: 2024-09-05 → 2034-09-05

Without it, apt update fails with NO_PUBKEY E3FE26E774C3A4A2 (the last 16 hex of the fingerprint).

3. The “repo removed” notice is false (for now)

Several guides warn that HPE took down its public repository in February 2026. As of today (2026-09-23) the MCP repo for bookworm is still live and serves ssacli 6.15-11.0 without issue. Even so, there’s an RPM fallback below in case the prophecy comes true one day.

Corrected procedure (copy/paste)

As root on the Proxmox host:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# 1. Install the correct GPG key (GPG-KEY2-mcp)
mkdir -p /etc/apt/keyrings
curl -fsSL https://downloads.linux.hpe.com/SDR/repo/mcp/GPG-KEY2-mcp \
  | gpg --dearmor > /etc/apt/keyrings/hpePublicKey2-mcp.gpg
chmod 0644 /etc/apt/keyrings/hpePublicKey2-mcp.gpg

# 2. Register the repo (HTTPS, not HTTP; adjust the codename if not bookworm)
cat > /etc/apt/sources.list.d/hp-mcp.list <<'EOT'
deb [signed-by=/etc/apt/keyrings/hpePublicKey2-mcp.gpg] https://downloads.linux.hpe.com/SDR/repo/mcp bookworm/current non-free
EOT

# 3. Update indexes and install
apt-get update
apt-get install -y ssacli

# 4. Verify
ssacli version
ssacli ctrl all show

On a lab node the verification looked like this:

1
2
3
4
5
6
root@pve-node1:~# ssacli version
   SSACLI Version:  6.15.11.0  2022-11-01
   SOULAPI Version: 6.15.11.0  2022-11-01

root@pve-node1:~# ssacli ctrl all show
Smart Array P840ar in Slot 0 (Embedded)   (sn: <serial>)

Useful ssacli commands

1
2
3
4
5
6
7
ssacli ctrl all show                     # list controllers
ssacli ctrl slot=0 show detail           # controller detail for slot 0
ssacli ctrl slot=0 pd all show status    # physical disk status
ssacli ctrl slot=0 ld all show status    # logical array status
ssacli ctrl slot=0 show config           # full topology (arrays, LDs, PDs)
ssacli ctrl slot=0 modify drivewritecache=enable
ssacli ctrl slot=0 ld 1 modify caching=enable

To identify a physical bay by serial number (handy when someone is at the rack swapping a disk), ssacli ctrl slot=0 pd all show detail gives you serial, bay, and status per disk. In HBA mode, inserting a disk may transiently flag “Degraded (Not authenticated)” and then clear to OK; nothing functional changes.

Fallback if the repo disappears

If downloads.linux.hpe.com/SDR/repo/mcp ever stops responding, download the .rpm from the HPE support portal and extract it by hand (Debian doesn’t use RPM, so we just unpack it):

1
2
3
rpm2cpio ssacli-*.rpm | cpio -idmv
cp -rv ./opt/* /opt
cp -rv ./usr/* /usr

Applies to

The same procedure works on any Proxmox / Debian bookworm node with an HPE Smart Array controller (Gen8 / Gen9 / Gen10). For bullseye or trixie, change the codename in the sources.list.