Support LocalSite SSH keys and SSH agent disabling in rbssh.

Review Request #2329 — Created May 1, 2011 and submitted

Information

Review Board
master

Reviewers

Support LocalSite SSH keys and SSH agent disabling in rbssh.

rbssh now accepts two new parameters (--rb-disallow-agent and
--rb-local-site) and accompanying environment variables ($RBSSH_ALLOW_AGENT
and $RB_LOCAL_SITE) for better controlling how rbssh performs authentication.

Normally, rbssh will use the SSH agent, which can interfere with unit tests.
Unit tests will now turn this ability off by setting $RBSSH_ALLOW_AGENT=0.

SCMTools can pass the LocalSite name through either --rb-local-site or
$RB_LOCAL_SITE (depending on methods available for that SCMTool) in order to
tell rbssh which SSH keys it should be looking for. This uses the new
LocalSite code in sshutils, meaning that rbssh really has to do very
little.
Tested by hand and through unit tests to verify that I was able to use the
correct per-LocalSite SSH key when accessing a repository.

This requires other changes going up for review in order to actually work
when called from SCMTools.