Windows Server体验之SSH远程链接

通过以前的各类远程管理方法,Windows Server能够被很好的管理,也能符合大多数Windows管理员的使用习惯。不过既然是命令行版本的Windows能不能和Linux同样管理呢?Windows上启用SSH服务。
为了符合Linux的管理方式,那么就须要在Windows上启用SSH服务。微软官方也给出了如何在Windows Server上使用OpenSSH管理的方法。
OpenSSH in Windows
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_overviewshell

官方文章中有不少实用的步骤,可是在操做过程当中我也遇到了一些问题。最终本身摸索着解决了。windows

首先,咱们要安装OpenSSH服务器端。可使用Powershell命令来检查公网仓库中的软件包。
Get-WindowsCapability -Online | ? Name -Like '*SSH'
SSH 先后均可以有星号
若是看不到图,请点我
Windows Server体验之SSH远程链接
能够看到有服务器和客户端2个包,其中客户端的已经装好了。知道了包的名字,咱们就能够安装了。
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Windows Server体验之SSH远程链接
很快,就能看到OpenSSH Server被装好了。
Windows Server体验之SSH远程链接
接下去,就是须要启用服务并在防火墙中放行TCP 22。这里,咱们使用Admin Center的方式启用服务并启用防火墙规则。其中防火墙规则是自动建立的,只须要启用它就饿能够了。因为咱们最终须要经过密钥的方式登陆系统,因此须要将ssh-agent服务也启动。并将他们的启动类型都改为自动。
Windows Server体验之SSH远程链接
Windows Server体验之SSH远程链接
到这里,就能够直接使用SSH链接到服务器了,可使用密码登陆了。可是为了方便统一登陆管理,最终目标是使用密钥的方式登陆。
sshd的配置文件在C:\ProgramData\ssh目录下。编辑sshd_config,去掉PubkeyAuthentication yes前面的注释。而后在C:\Users\Administrator下创建文件夹.ssh,而且将公钥文件复制过去,名字改为authorized_keys。若是是Linux服务器,这样就能够用本地的私钥登陆了。可是这个Windows服务器就是不行,仍是会提示输入密码。试过大写A Administrator 小写a administrator,都不能够。试着按官方文章中的方法修复authorized_keys文件的权限也没用。
接下来,试着从Linux主机复制公钥到服务器上,结果发现用户配置文件.ssh目录下并无。
Windows Server体验之SSH远程链接
通过反复测试发现文件都被上传在了C:\Users\Administrator目录下。
Windows Server体验之SSH远程链接
后来发现是因为路径的问题,Linux使用/而Windows使用\。从新用/做为路径以后就能够了。
scp id_rsa.pub administrator@ip:c:/users/administrator/.ssh/authorized_keys
以后就能够直接使用密钥登陆系统了。
关于文件的权限,也并不须要按官方文章中提到的修复权限。
我服务器上文件的权限如图所示。
Windows Server体验之SSH远程链接服务器

相关文章
相关标签/搜索