我在一个学术环境中工作,我们提供各种可通过 ssh 访问的计算资源。我们还提供git
存储库托管,并且我们需要 ssh 来读取/写入存储库。
我们为 OS X 和 Linux 用户提供的说明相对简单,而且最重要的是,它们一致 — 无论是 OS X 还是大多数现代 Linux 发行版,它们都是OpenSSH
开箱即用的,更重要的是,ssh-agent
它们已预先配置为在桌面会话处于活动状态时运行。我们通常鼓励人们为他们的密钥分配密码,因此没有身份验证代理的生活很快就会变得令人厌烦。
目前,我们为 Windows 用户提供的解决方案总体上更加分散和复杂。从历史上看,人们一直在使用油灰,但这需要额外的步骤来生成与 OpenSSH 兼容的密钥。这也使得使用命令行工具变得更加困难(尽管我意识到并非不可能),git
命令行工具在与 ssh 可访问的存储库交互时最适合与 OpenSSH 配合使用。
我们只想让人们安装系统管理工具,但我们正在寻找一种很好的方法来集成ssh-agent
到 Windows 桌面环境中。最常见的解决方案是通过中的条目启动代理.bashrc
,但这看起来充其量是黑客行为,这意味着我们必须指导大部分非技术用户完成在 Windows 下编辑他们的过程.bashrc
。
另一个复杂因素是,它WinSCP
通常用作文件传输工具——当然,它不会与 对话。它会与来自 PuTTY 的ssh-agent
对话,但不会说话,因此它无法从命令行工作。pagent
pagent
ssh-agent
其他人做了什么来为不同平台上的用户提供一致的环境?您是否只是放弃并决定为 Windows 用户维护一组单独的文档?
更新
我发现有两个程序充当 OpenSSH 和 pagent 之间的垫片。你有没有使用过伪装或者ssh-pagent?
答案1
答案2
我不熟悉 msysgit,但它可以使用 PuTTY 吗plink
?如果您不知道,plink
它是一个简单的命令行 ssh 客户端,它可以使用 Pageant 进行身份验证。
更新:是的,您应该为 Windows 用户提供不同的文档。(除非您认为 Windows 用户将使用 OpenSSH 进行 git 访问以外的其他操作。)我认为您正在尝试强制执行不存在的等价关系。在我看来,您正在尝试通过使 ssh 变得更难来“使 ssh 变得更容易”。