<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Hpe on inetshell</title><link>https://inet.sh/en/tags/hpe/</link><description>Recent content in Hpe on inetshell</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 19 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://inet.sh/en/tags/hpe/index.xml" rel="self" type="application/rss+xml"/><item><title>HP iLO CLI: users, network, ISO, and power</title><link>https://inet.sh/en/posts/ilo/cli-commands/</link><pubDate>Wed, 19 Aug 2026 00:00:00 +0000</pubDate><guid>https://inet.sh/en/posts/ilo/cli-commands/</guid><description>HP iLO SMASH CLP commands over SSH: create a user, change the password, set a static IP, mount an HTTP ISO, and power the server.</description><content:encoded><![CDATA[<h2 id="tldr">TL;DR</h2>
<p>SSH to iLO (<code>ssh Administrator@&lt;ilo-ip&gt;</code>). SMASH CLP for accounts, static IP, HTTP ISO, power. Legacy cipher: <code>-c aes256-cbc</code>.</p>
<p>If you have SSH to iLO and do not want the web UI, the shell is <strong>SMASH CLP</strong> (<code>/map1</code>, <code>oemhp_*</code>). This is the iLO 2/3/4 dialect, not Redfish.</p>
<h2 id="connect">Connect</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">ssh Administrator@&lt;ilo-ip&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><p>Old firmware often needs a legacy cipher:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">ssh -c aes256-cbc Administrator@&lt;ilo-ip&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="accounts">Accounts</h2>
<p>Create a user with the usual admin groups (network changes reset iLO; accounts persist):</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">create /map1/accounts1 <span class="nv">username</span><span class="o">=</span>ops <span class="nv">password</span><span class="o">=</span><span class="s1">&#39;&lt;password&gt;&#39;</span> <span class="nv">group</span><span class="o">=</span>admin,config,oemhp_vm,oemhp_rc,oemhp_power
</span></span></code></pre></td></tr></table>
</div>
</div><p>Change the <code>Administrator</code> password on first boot (<code>Administrator</code> / <code>hpinvent</code> is the HP default):</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="nb">set</span> /map1/accounts1/Administrator <span class="nv">password</span><span class="o">=</span><span class="s1">&#39;&lt;new-password&gt;&#39;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="network-ilo-reboots">Network (iLO reboots)</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="nb">set</span> map1/dhcpendpt1 <span class="nv">EnabledState</span><span class="o">=</span>no
</span></span><span class="line"><span class="cl"><span class="nb">set</span> map1/enetport1/lanendpt1/ipendpt1 <span class="nv">IPv4Address</span><span class="o">=</span>192.168.1.213 <span class="nv">SubnetMask</span><span class="o">=</span>255.255.255.0
</span></span><span class="line"><span class="cl"><span class="nb">set</span> map1/enetport1 <span class="nv">SystemName</span><span class="o">=</span>merlin
</span></span></code></pre></td></tr></table>
</div>
</div><p>After each network <code>set</code>, wait for iLO to come back and SSH to the new address.</p>
<h2 id="mount-an-http-iso-and-boot-once">Mount an HTTP ISO and boot once</h2>
<p>The ISO must be HTTP-reachable <strong>from iLO</strong>, not from your laptop.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="nb">set</span> /map1/oemhp_vm1/cddr1 <span class="nv">oemhp_image</span><span class="o">=</span>http://10.254.0.50/ssp2017.iso
</span></span><span class="line"><span class="cl"><span class="nb">set</span> /map1/oemhp_vm1/cddr1 <span class="nv">oemhp_boot</span><span class="o">=</span>Once
</span></span><span class="line"><span class="cl">show /map1/oemhp_vm1/cddr1
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="power">Power</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">show /system1
</span></span><span class="line"><span class="cl">start /system1
</span></span><span class="line"><span class="cl">stop /system1
</span></span><span class="line"><span class="cl">reset /system1
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="ping-from-ilo">Ping from iLO</h2>
<p>Useful to see whether iLO can reach the management network:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">oemhp_ping /map1 10.1.1.50
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="manual">Manual</h2>
<p>HP&rsquo;s CLP tree: <a href="http://h10032.www1.hp.com/ctg/Manual/c02237707.pdf">iLO scripting and command line</a>.</p>
<p>See also: <a href="/en/posts/ilo/upgrade-firmware-ssh/">upgrade firmware over SSH</a>, <a href="/en/posts/ilo/get-license-key/">read the license key</a>.</p>
]]></content:encoded></item><item><title>Read an HP iLO license key without the web UI</title><link>https://inet.sh/en/posts/ilo/get-license-key/</link><pubDate>Wed, 19 Aug 2026 00:00:00 +0000</pubDate><guid>https://inet.sh/en/posts/ilo/get-license-key/</guid><description>Extract an HP iLO license key from the xmldata?item=CpqKey XML endpoint, with no web-console login.</description><content:encoded><![CDATA[<h2 id="tldr">TL;DR</h2>
<p><code>curl -sk &quot;https://&lt;ilo-ip&gt;/xmldata?item=CpqKey&quot;</code> — license key is in the XML, no UI login.</p>
<p>iLO Advanced is licensed by key. If you inherited a ProLiant and the UI will not open (cert, Java, firmware), the BMC still publishes an inventory XML.</p>
<h2 id="the-endpoint">The endpoint</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">curl -sk <span class="s2">&#34;https://&lt;ilo-ip&gt;/xmldata?item=CpqKey&#34;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>In a browser: <code>https://&lt;ilo-ip&gt;/xmldata?item=CpqKey</code>.</p>
<p>The body is XML with the product and the key (or an unlicensed state). This is not Redfish; it is iLO&rsquo;s <code>xmldata</code> interface, the one old HP SIM scripts used.</p>
<h2 id="notes">Notes</h2>
<ul>
<li><code>-k</code> because the iLO certificate is almost never from a public CA.</li>
<li>Some iLOs still serve this over <strong>HTTP</strong> (<code>http://&lt;ilo-ip&gt;/xmldata?item=CpqKey</code>) if HTTPS will not negotiate.</li>
<li>Treat the key as a secret. Do not commit it or paste it.</li>
<li>Reading it does not activate anything: it only <strong>reads</strong> what is already stored on the BMC. Applying a different key is still <code>license</code> in CLP or the UI.</li>
</ul>
<p>See also: <a href="/en/posts/ilo/cli-commands/">iLO CLI commands</a>.</p>
]]></content:encoded></item><item><title>Upgrade HP iLO firmware over SSH</title><link>https://inet.sh/en/posts/ilo/upgrade-firmware-ssh/</link><pubDate>Wed, 19 Aug 2026 00:00:00 +0000</pubDate><guid>https://inet.sh/en/posts/ilo/upgrade-firmware-ssh/</guid><description>Upgrade HP iLO firmware over SSH with SMASH CLP: show /map1/firmware1 and load -source http://…</description><content:encoded><![CDATA[<h2 id="tldr">TL;DR</h2>
<p>Serve the <code>.bin</code> over HTTP. Over SSH: <code>load -source http://…/ilofirmware.bin</code> under <code>/map1/firmware1</code>.</p>
<p>When iLO firmware is old enough that browsers refuse its TLS, SSH plus HTTP still works.</p>
<h2 id="1-serve-the-bin-over-http">1. Serve the <code>.bin</code> over HTTP</h2>
<p>iLO <strong>pulls</strong> the firmware; you do not SCP it in. <code>python3 -m http.server</code> on the management network is enough, or nginx. Use the official HPE <code>ilo*.bin</code>.</p>
<h2 id="2-log-in-and-load">2. Log in and load</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">ssh -c aes256-cbc Administrator@&lt;ilo-ip&gt;
</span></span><span class="line"><span class="cl">show /map1/firmware1
</span></span><span class="line"><span class="cl"><span class="nb">cd</span> /map1/firmware1
</span></span><span class="line"><span class="cl">load -source http://&lt;http-server&gt;/ilofirmware.bin
</span></span></code></pre></td></tr></table>
</div>
</div><p><code>-c aes256-cbc</code> is the iLO 2/3 trick: modern OpenSSH will not offer the BMC&rsquo;s ciphers unless you ask.</p>
<p><code>show /map1/firmware1</code> prints the current version <strong>before</strong> you touch anything. Keep it.</p>
<h2 id="what-to-expect">What to expect</h2>
<ul>
<li><code>load</code> takes minutes. Do not kill the session.</li>
<li>iLO reboots itself. The host <strong>does not</strong> power off (firmware lives on the BMC).</li>
<li>If HTTP is not reachable from the iLO NIC, <code>load</code> fails with a useless error: <code>oemhp_ping</code> the HTTP server.</li>
</ul>
<p>After reboot, <code>show /map1/firmware1</code> again and confirm the version string.</p>
<p>Write-up this is based on: <a href="https://ajmckean.com/upgrade-hp-ilo-via-ssh/">Upgrade HP iLO via SSH</a>.</p>
<p>See also: <a href="/en/posts/ilo/cli-commands/">iLO CLI commands</a>.</p>
]]></content:encoded></item></channel></rss>