Private keys

Support private keys at a higher level to support uploading, downloading, and shell commands on remote systems.