Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I installed Git for Windows and it came with the "Git Bash", which is basically MinGW32. I noticed that it has SSH, but doesn't have SSHD.

What is the easiest way to get SSHD in MinGW32?

share|improve this question

migrated from stackoverflow.com Dec 7 '11 at 18:57

This question came from our site for professional and enthusiast programmers.

1 Answer 1

A Bash shell is not "MinGW32". I'm feeling generous today, so here goes...

Windows Bash shells

  1. Interix: abandonware, old subsystem developed by Microsoft providing a POSIX environment alongside the Win32 subsystem. It had a bunch of POSIX shells (ksh, csh, bash could be installed)
  2. Cygwin: provides a complete UNIX environment, through a compatibility DLL. Emulates fork and other UNIX-specific function calls. Contains a Bash shell.
  3. MSYS: A fork of an old Cygwin version, focused on running configure scripts (and later also git) on Windows. Using MSYS for anything more than a barebones Bash shell is suicide.

Other Unix-y stuff

  1. MinGW.org: project providing a native GCC compiler that links to msvcrt.dll. It provides an open implementation of the Windows API headers and allows using GNU tools to build native 32-bit Windows apps.
  2. Cygwin: Cygwin GCC is different from the above; you can only run your app when the Cygwin DLL is present, and it will always run under emulation of that POSIX environment.
  3. MinGW-w64: new alternative to MinGW.org, which provides the means to use GCC and GNU binutils to build native 32-bit and 64-bit Windows applications. It strives to provide a C99 compatible implementation, where msvcrt.dll allows that. You can also link to msvcr80, msvcr90, msvcr10 dll's if you wish.

Where does all the confusion come from?

MinGW.org maintain MSYS, and people not thinking clearly often give both the same name, or say both are the same thing. This is not true. MinGW(.org/-w64) is a CRT that heavily relies on msvcrt.dll. It has no Bash. It is not Bash. You could call "MinGW GCC" plain "MinGW", as the two are closely related. Don't call MSYS "MinGW32". That's just evil.


To answer your question: install cygwin, and use its package manager to install sshd.

share|improve this answer
    
Interix is not abandonware -- it has evolved into Services for Unix (available for Windows XP) and later Subsystem for Unix Applications (included with Windows 7). –  grawity Dec 8 '11 at 10:48
    
grawity: Interix hasn't seen a decent update since its release as SUA. It is not included in Windows 7 (it is a seperate download) and it only contains GNU software from the stoneage. Sure, they still have the version from 5 years ago. –  rubenvb Dec 8 '11 at 11:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.