我安装了适用于 Windows 的 Git,它附带了“Git Bash”,它基本上是 MinGW32。我注意到它有 SSH,但没有 SSHD。
在 MinGW32 中获取 SSHD 的最简单方法是什么?
答案1
Bash shell 不是“MinGW32”。我今天心情大好,所以就说到这里……
Windows Bash shell
- Interix:废弃软件,微软开发的旧子系统,与 Win32 子系统一起提供 POSIX 环境。它有一堆 POSIX shell(可以安装 ksh、csh、bash)
- Cygwin:通过兼容 DLL 提供完整的 UNIX 环境。模拟
fork
和其他 UNIX 特定的函数调用。包含 Bash shell。 - MSYS:旧版 Cygwin 的一个分支,专注于在 Windows 上运行配置脚本(后来也用于 git)。使用 MSYS 进行任何超出基本 Bash shell 的操作都是自取灭亡。
其他 Unix 内容
- MinGW.org:项目提供本国的链接到的 GCC 编译器
msvcrt.dll
。它提供了 Windows API 标头的开放实现,并允许使用 GNU 工具构建本机 32 位 Windows 应用程序。 - Cygwin:Cygwin GCC 与上述不同;您仅可在 Cygwin DLL 存在时运行您的应用程序,并且它将始终在该 POSIX 环境的模拟下运行。
- MinGW-w64:MinGW.org 的新替代品,提供使用 GCC 和 GNU binutils 构建本国的32 位和 64 位 Windows 应用程序。它致力于提供与 C99 兼容的实现,msvcrt.dll 允许这样做。如果您愿意,您还可以链接到 msvcr80、msvcr90、msvcr10 dll。
所有的混乱从何而来?
MinGW.org 维护 MSYS,思维不清晰的人经常给两者起相同的名字,或者说两者是同一个东西。事实并非如此。MinGW(.org/-w64) 是一个严重依赖 msvcrt.dll 的 CRT。它没有 Bash。它不是 Bash。您可以将“MinGW GCC”称为普通的“MinGW”,因为两者密切相关。不要将 MSYS 称为“MinGW32”。那简直是邪恶的。
回答你的问题:安装 cygwin,并使用其包管理器安装 sshd。