在Windows Server 2012上安装Bash + openSSH

我必须用Windows Server 2012创build虚拟机。现在我想通过OpenSSH和Bash连接到它,安装OpenSSH成功​​,但是当我通过ssh Administrator@<ip>连接到服务器时,我只能使用Windows Powershell 。 是否有可能安装bash(如git bash或cygwin)并通过ssh直接连接到这个shell?

https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

上面的链接说这只是最新的Windows 10版本:

您的电脑必须运行64位版本的Windows 10周年更新版本14393或更高版本

你想使用Cygwin,然后使用Cygwin,对吧? 我的指令有一个很大的局限性,那就是一次只能为一个用户使用,SSH不能作为服务运行。 希望有人可以提供一个答案,让它作为一项服务工作。

下载安装程序setup-x86-64.exe并运行它。

你需要这些包:

  • cygrunsrv
  • OpenSSH的
  • OpenSSL的
  • rsync的
  • xinit的
  • 的xorg-docs的
  • 的xorg-服务器

Cygwin安装后,以pipe理员身份运行“Cygwin64terminal”。

 ssh-host-config 

应该使用特权分离吗? (是/否) 是的

新的本地帐户“sshd”? (是/否) 是的

你想安装sshd作为服务? (如果已经作为服务安装,请说“不”)(是/否)

给你的用户所有权的SSH目录:

 chown username /var/empty /etc/ssh* 

编辑sshdconfiguration文件:

 vi /etc/sshd_config 

允许SSH环境文件用于非交互式会话:

 PermitUserEnvironment yes 

你需要一个login脚本每次启动sshd,我懒洋洋地创buildsshd.bat并将其复制到shell:common startup

 @echo off REM # Start SSH server, as a regular process. Use /var/log/sshd.log instead of REM # Windows Event Log C:\cygwin64\bin\run -p C:\cygwin64\bin /usr/sbin/sshd -D -E /var/log/sshd.log 

改进欢迎!