在Windows Server 2016 1709上安装OpenSSH
Last updated
Last updated
在远古时代,要在Windows上运行Open SSH服务是非常麻烦的事情,需要安装第三方的 Cygwin 软件包,设置也很繁琐。然而,随着微软拥抱开源技术,现在在Windows 2016和Windows 10平台,可以直接安装OpenSSH服务和客户端,给我们跨平台维护带来极大的便利。
注意:首先需要安装PowerShell Core for Windows
PowerShell/openssh-portable移植了开源的openssh版本,原文在PowerShell Remoting Over SSH,不过,由于openssh-portable
已经替代了Win32-OpenSSH
,所以现在在 Install Win32 OpenSSH 介绍的安装方法实际安装的是openss-portable。
下载OpenSSH-Win64.zip
解压缩到C:\Program Files\OpenSSH
目录,然后在这个目录下执行如下命令
此时会提示安装成功
开启防火墙允许进入访问SSH
已上
New-NetFirewallRule
是Windows 2012及以上版本的服务器使用的。如果是客户桌面主机,如windows 10或windows 2008 r2,则尝试
不过,这个防火墙设置我实际上没有设置成功,但是我实际访问已经是可以连接22端口了。
启动sshd
设置sshd和ssh-agent在操作系统启动时启动
配置默认shell
在Windows注册表 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH\DefaultShell
中有可以设置默认shell,以及Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH\DefaultShellCommandOption
可以设置默认shell执行的命令并立即退出并返回调用的进程。这个功能可以用于执行远程ssh命令,例如 ssh user@ip hostname
。
以下举例设置powershell作为默认shell
上述设置已经完成了ssh on windows安装,不过,默认的Power shell对于Linux用户来说不太友好,可以尝试安装一个bash来作为远程维护。
不过,参考 Windows Server Installation Guide 看起来只有Windows 10和Windows Server 2019才能够安装 Run Linux on Windows。
首先检查 Windows Server 2016 1709服务器上并没有安装OpenSSH
安装客户端
安装服务器
使用客户端
一旦安装,以下2个服务将安装在服务器上:
OpenSSH Client – SSH-Agent
OpenSSH Server – sshd
此时可以按看到如下安装的服务:
要使得服务器服务工作,需要配置
配置服务器
最后执行
开启防火墙允许ssh访问