
Outdated information [deprecated on 6th of feb 2026]
HPE removed the public linux repository, so this guilde became obsolete. The content is left here for archival purposes
Open a terminal of your PVE host (be it via SSH or via the pve webui) and check which Debian release you are using. PVE 8 is based off of Debian 12 codenamed "Bookworm".
root@ethos:~# cat /etc/apt/sources.list
deb http://ftp.si.debian.org/debian bookworm main contrib
deb http://ftp.si.debian.org/debian bookworm-updates main contrib
# security updates
deb http://security.debian.org bookworm-security main contrib
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
Here we add the HP signing key. Other tutorials provide two more keys (three in total), but those are - to my understanding - not required for this (ssacli) repository, so we'll only be adding one.
curl -fsSL https://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub | gpg --dearmor > /etc/apt/keyrings/hpePublicKey2048_key1.gpg
chmod 0644 /etc/apt/keyrings/hpePublicKey2048_key1.gpg
Add the repository to your APT sources (make sure you use correct OS release codename - in this case, at the time of writing, it is "bookworm"), update and install ssacli package
cat <<EOT > /etc/apt/sources.list.d/hp-mcp.list
deb [signed-by=/etc/apt/keyrings/hpePublicKey2048_key1.gpg] http://downloads.linux.hpe.com/SDR/repo/mcp bookworm/current non-free
EOT
apt update && apt install -y ssacli
You will most likely get the following warning after running apt update. You can safely ignore it as HPE (at least as of 31th of Oct 2024) have not migrated to the new format yet
N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware'
N: More information about this can be found online in the Release notes at: https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.html#non-free-split
HPE provides SSACLI packages in .rpm packaging format on their support page.
In this guide you will download the rpm package, verify its signature, extract its content and install it on your Proxmox VE (or any Debian based distribution) machine.

Search for "ssa cli linux" (hotlink) and find the relevant "variant" for your server. The general "HPE Smart Storage Administrator (HPE SSA) CLI for Linux 64-bit" is usually ok, but there are also variants like "for Gen10/Gen10 Plus/Gen11 Controllers".

When you decide which one you will use first make sure you are looking at the latest version of the variant (marked with numbers 1 and 2), click the "Download software" button (marked with 3), you will get a popup, click the "copy curl" button, you will download a .txt file, open it and it should look something like the following
curl -fL -o "ssacli-4.21-7.0.x86_64.compsig" https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p1857046646/v183344/ssacli-4.21-7.0.x86_64.compsig
curl -fL -o "ssacli-4.21-7.0.x86_64.rpm" https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p1857046646/v183344/ssacli-4.21-7.0.x86_64.rpm
curl -fL -o "ssacli-4.21-7.0.x86_64.txt" https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p1857046646/v183344/ssacli-4.21-7.0.x86_64.txt
- copy the curl command with the
.rpmfile in it - open the terminal on your PVE node
- create a new folder and switch to it (if you want to have a temporary folder run
cd $(mktemp -d)) - run the CURL command from the downloaded txt file to download the ssacli rpm package
- verify the checksum of the downloaded package; copy the package name and the checksum from the HPE website (marked in the above screenshot with number 4)
and you must get the output of the file name followed withecho "a911dfcf2855d36fe32f064c7c0a3454282aa9d1710548e6aaf3ece2bf167c52 ssacli-4.21-7.0.x86_64.rpm" | sha256sum --check -: OK(for examplessacli-4.21-7.0.x86_64.rpm: OK) - run
rpm2cpio ssacli-4.21-7.0.x86_64.rpm | cpio -idmv(replace the rpm file name with the downloaded file) to extract the package - and finally
cp -rv ./opt/* /opt && cp -rv ./usr/* /usrto "install" the package files on your system
- create a new folder and switch to it (if you want to have a temporary folder run
You should be now able to run ssacli ctrl all show and see the array controllers present in your system.
After successful installation you will be able to use the ssacli utility and (for example) list all drives in your system
root@ml350-g9-01:~# ssacli ctrl all show
Smart Array P440ar in Slot 0 (Embedded) (sn: PDNLH0BRHBJ0HI)
root@ml350-g9-01:~# ssacli ctrl slot=0 physicaldrive all show
Smart Array P440ar in Slot 0 (Embedded)
Array A
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS SSD, 400 GB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS SSD, 400 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS SSD, 400 GB, OK, spare)
physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS SSD, 400 GB, OK, spare)
Array B
physicaldrive 1I:1:5 (port 1I:box 1:bay 5, SAS SSD, 800 GB, OK)
physicaldrive 1I:1:6 (port 1I:box 1:bay 6, SAS SSD, 800 GB, OK)
physicaldrive 1I:1:7 (port 1I:box 1:bay 7, SAS SSD, 800 GB, OK)
physicaldrive 1I:1:8 (port 1I:box 1:bay 8, SAS SSD, 800 GB, OK)
root@ml350-g9-01:~#

