Prior to installing Spacewalk on my Linux hosts to push updates / packages, I used to do the following:
1. Setup SSH trust from a secured account to Remote host with sudo permissions to root.
2. Remotely copy and install the Puppet Agent
3. Remotely run, as root, <path to puppet>/puppet config set server=<puppet master>
4. Remotely run puppet agent --test --verbose to generate the initial key exchange.
5. Sign the key on the master.
6. Remotely re-run the puppet agent --test --verbose to verify it is communicating with the master, which usually gives the error that the host isn't yet setup on Puppet, as expected.
7. After setting up host and testing that the catalogs are processing correctly, remote run chkconfig puppet on via sudo.