Windows 上的固态硬盘

Lan*_*ius 7 ssh sshd

我为 Windows 安装了 Git,它附带了“Git Bash”,基本上是 MinGW32。我注意到它有 SSH,但没有 SSHD。

在 MinGW32 中获得 SSHD 的最简单方法是什么?

rub*_*nvb 5

Bash shell 不是“MinGW32”。我今天感觉很慷慨,所以这里...

Windows Bash 外壳

  1. Interix:废弃软件,由 Microsoft 开发的旧子系统,在 Win32 子系统旁边提供 POSIX 环境。它有一堆 POSIX shell(可以安装 ksh、csh、bash)
  2. Cygwin:通过一个兼容的 DLL 提供一个完整的 UNIX 环境。模拟fork和其他 UNIX 特定的函数调用。包含一个 Bash 外壳。
  3. MSYS:旧 Cygwin 版本的一个分支,专注于在 Windows 上运行配置脚本(以及后来的 git)。将 MSYS 用于任何不仅仅是准系统 Bash shell 的事情都是自杀。

其他 Unix-y 的东西

  1. MinGW.org:项目提供一个原生GCC编译器的链接msvcrt.dll。它提供了 Windows API 标头的开放实现,并允许使用 GNU 工具构建本机 32 位 Windows 应用程序。
  2. Cygwin:Cygwin GCC 与上述不同;您只能在 Cygwin DLL 存在时运行您的应用程序,并且它将始终在该 POSIX 环境的模拟下运行。
  3. 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。

  • @rubenvb,您忽略了 OP 的问题,“在 MinGW32 中获得 SSHD 的最简单方法是什么?” 您的回答“安装 Cygwin...”忽略了这一点:MSYS/MinGW 和 CygWin 是两个完全不同的东西。 (3认同)