I work in an academic environment where we are providing a variety of ssh-accessible compute resources. We also provide git
repository hosting, and we require ssh for read/write access to the repositories.
Our instructions for OS X and Linux users are relatively simple and, most importantly, consistent -- both with OS X and most modern Linux distributions, OpenSSH
is included out-of-the-box and, more importantly, ssh-agent
is preconfigured to run whenever a desktop session is active. We generally encourage people to assign passphrases to their keys, so life without an authentication agent can rapidly become annoying.
Our solutions for Windows users are at the moment both more fragmented and more complicated in general. Historically people have been using PuTTY, but this requires extra steps to produce OpenSSH-compatible keys. It also makes it more difficult -- though not, I realize, impossible -- to use the git
command line tools, which works best with OpenSSH when interacting with ssh-accessible repositories.
We would like to simply have folks install msysgit, but we're looking at a good way to integrate ssh-agent
into the Windows desktop environment. The most common solution out there is to start the agent via entries in .bashrc
, but that seems hacky at best and it means we have to guide largely non-technical users through the process of editing their .bashrc
under Windows.
An additional complication is that WinSCP
is often used as a file transfer tool -- and of course this won't talk to ssh-agent
. It will talk to pagent
, from the PuTTY folks, but pagent
doesn't speak ssh-agent
so it won't work from the command line.
What have other folks done to provide a consistent environment for users on different platforms? Have you just thrown up your hands and decided to maintain a separate set of documents for Windows users?
UPDATE
I've found two programs that act as a shim between OpenSSH and pagent. Do you have any experience with either charade or ssh-pagent?