让 Windows 用户社区更轻松地使用 ssh

让 Windows 用户社区更轻松地使用 ssh

我在一个学术环境中工作,我们提供各种可通过 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对话,但不会说话,因此它无法从命令行工作。pagentpagentssh-agent

其他人做了什么来为不同平台上的用户提供一致的环境?您是否只是放弃并决定为 Windows 用户维护一组单独的文档?

更新

我发现有两个程序充当 OpenSSH 和 pagent 之间的垫片。你有没有使用过伪装或者ssh-pagent

答案1

我建议使用赛格威并通过它安装 SSH。然后,您可以设置 ssh-agent,甚至可以使用 shell 脚本自动配置它。这样,您就可以像在 Linux 上一样使用 SSH,而不是使用 PuTTY 或 msysgit。此外,您还可以使用 shell 脚本和 Cygwin 实现自动化。这里只是我发现的使它与 Cygwin 一起工作的众多不同的 ssh-agent 脚本之一。此外,我发现 Cygwin 的设置和安装非常灵活。由于它只是从镜像中下载文件并将其放在 C: 驱动器的根目录中,我几乎可以肯定,您可以通过向其他人提供目录副本来获取该安装并将其分发给他们。不过,我自己还没有测试过这部分……

答案2

我不熟悉 msysgit,但它可以使用 PuTTY 吗plink?如果您不知道,plink它是一个简单的命令行 ssh 客户端,它可以使用 Pageant 进行身份验证。

更新:是的,您应该为 Windows 用户提供不同的文档。(除非您认为 Windows 用户将使用 OpenSSH 进行 git 访问以外的其他操作。)我认为您正在尝试强制执行不存在的等价关系。在我看来,您正在尝试通过使 ssh 变得更难来“使 ssh 变得更容易”。

相关内容