I want to inventory the hardware of my Linux systems using only ssh on the client end

Solution 1:

Maybe try http://www.cfg2html.com/ it's just one bash script that outputs to html, which you can upload/download to a central directory. However it's just the output from commands so it's pretty hard to put it in a structured format like sql/xml.

Solution 2:

Without installing any new software on the remote systems, you can grab a raw snapshot of the remote machine's state with:

lspci > /tmp/`hostname`-lspci
tar -czvf `hostname`-proc-snapshot.tar.gz /proc /tmp/`hostname`-lspci --exclude=/proc/kcore

Then scp the tar archive from the remote server. This will get you: cpuinfo, meminfo, partitions, etc. Add more commands and temporary files for any additional information you may need (logical volumes, raid status, etc.)

As a minor bonus, you get an inventory of running processes on the remote machine at that instant.