经过之前的各种远程管理方法,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_overview

官方文章中有很多实用的步骤,但是在操作过程中我也遇到了一些问题。最终自己摸索着解决了。

首先,我们要安装OpenSSH服务器端。可以使用Powershell命令来检查公网仓库中的软件包。

Get-WindowsCapability -Online | ? Name -Like '*SSH*'

如果看不到图,请点我

 

可以看到有服务器和客户端2个包,其中客户端的已经装好了。知道了包的名字,我们就可以安装了。

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

 

很快,就能看到OpenSSH Server被装好了。

 

接下去,就是需要启用服务并在防火墙中放行TCP 22。这里,我们使用Admin Center的方式启用服务并启用防火墙规则。其中防火墙规则是自动创建的,只需要启用它就饿可以了。由于我们最终需要通过密钥的方式登录系统,所以需要将ssh-agent服务也启动。并将他们的启动类型都改成自动。

 

 

到这里,就可以直接使用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目录下并没有。

 

经过反复测试发现文件都被上传在了C:\Users\Administrator目录下。

 

后来发现是由于路径的问题,Linux使用/而Windows使用\。重新用/作为路径之后就可以了。

scp id_rsa.pub administrator@ip:c:/users/administrator/.ssh/authorized_keys

之后就可以直接使用密钥登录系统了。

关于文件的权限,也并不需要按官方文章中提到的修复权限。

我服务器上文件的权限如图所示。

Windows Server体验之SSH远程连接的更多相关文章

  1. windows server服务器上mysql远程连接失败的坑

    windows server服务器上mysql远程连接失败的坑 背景:趁这阿里云活动,和朋友合伙买了个服务器,最坑的是没想到他买的是windows Server的,反正便宜,将就着用吧,自己装好了wa ...

  2. Win记录-配置Windows Server R 2008多用户远程连接(仅做参考)

    1.计算机管理下用户组下新建用户 2.系统属性下远程控制加入用户,设置允许运行任何远程桌面 3.运行->gpedit.msc->计算机配置->管理模板->windows 组件- ...

  3. windows Server 2016安装Sqlserver远程连接的坑

    如果要连接远程服务器 首先打开防火墙端口1433  新建入站规则 然后 如果没启用 就启用  然后重启服务就行 如果还是不行 进去属性  修改三处 然后重启服务

  4. windows server 2008配置多用户远程连接

    打开开始菜单->管理工具->远程桌面服务->远程桌面会话主机配置 右键限制每个用户只能进行一个会话->常规->勾掉限制每个与用户只能进行一个会话 右键远程桌面授权模式-& ...

  5. 使用工具SecureCRT通过ssh远程连接Windows server 2019

    Windows Server 2019 开通SSH Server服务 在需要安裝的ws2019开启powershell,执行安装 openssh server 指令 Add-WindowsCapabi ...

  6. Windowsclient SSH 远程连接Windowsserver(PowerShell Server)

    近期刚搞完SSH框架.又来研究研究SSH远程连接.为什么这么要弄这个呢?由于如今我如今开发主要在自己的笔记本(windows)上,然后写的后端都要部署到实验室的台式机(windows)上,这样一来,我 ...

  7. Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT、桥接和Host-only]

    Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT.桥接和Host-only] 作者:天齐 一.Windows和linux虚拟机之间联网实现SSH远程连接 ...

  8. 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)

    注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...

  9. 远程连接Kali Linux使用PuTTY实现SSH远程连接

    远程连接Kali Linux使用PuTTY实现SSH远程连接 本书主要以在Android设备上安装的Kali Linux操作系统为主,介绍基于Bash Shell渗透测试.由于在默认情况下,在Andr ...

随机推荐

  1. NC14247 Xorto

    NC14247 Xorto 题目 题目描述 给定一个长度为 \(n\) 的整数数组,问有多少对互不重叠的非空区间,使得两个区间内的数的异或和为 \(0\) . 输入描述 第一行一个数 \(n\) 表示 ...

  2. 多校联训 DS 专题

    CF1039D You Are Given a Tree 容易发现,当 \(k\) 不断增大时,答案不断减小,且 \(k\) 的答案不超过 \(\lfloor\frac {n}{k}\rfloor\) ...

  3. C# / VB.NET 将Html转为Word

    本文分享以C#程序代码为例,实现将Html文件转换Word文档的方法(附VB.NET代码).在实际转换场景中可参考本文的方法,转换前,请按照如下方法引用Word API的dll文件到Visual St ...

  4. 一文搞懂 Netty 发送数据全流程 | 你想知道的细节全在这里

    欢迎关注公众号:bin的技术小屋,如果大家在看文章的时候发现图片加载不了,可以到公众号查看原文 本系列Netty源码解析文章基于 4.1.56.Final版本 在<Netty如何高效接收网络数据 ...

  5. 虚拟机启动时报’A start job is running for /etc/rc.local .. Compatibility错误。

    虚拟机启动时报'A start job is running for /etc/rc.local .. Compatibility错误. 问题已经存在很长时间了,但是不影响ssh登录,遂置之未理. 经 ...

  6. E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/t

    sudo apt-get remove libappstream3

  7. 如何使用API接口批量查询图书信息?

    之前小编讲过在Excel表格中根据ISBN查询图书信息可以使用我们的图书查询公式,但偶然间发现少部分书籍由于年份久远导致查不出来,今天小编就教给大家另一种查询图书信息的方式,即通过API接口返回的JS ...

  8. C#/VB.NET: 将Word或Excel文档转化为Text

    Text文件只由纯文本内容组成,且没有格式,所以其大小比Word或Excel文件更小.除此之外,Text文件还具有跨平台性,几乎与所有应用程序都兼容.因此,在某些时候,我们可能需要将Word或Exce ...

  9. C++ 实现可变参数的三个方法

    有时我们无法提前预知应该向函数传递几个实参.例如,我们想要编写代码输出程序产生的错误信息,此时最好用同一个函数实现该项功能,以便对所有错误的处理能够整齐划一.然而,错误信息的种类不同,所以调用错误输出 ...

  10. 【AGC】增长服务1-远程配置示例

    ​ [AGC]增长服务1-远程配置示例 前言:上一次笔者给大家带来了AGC领域的性能管理服务的学习.这次我们再继续深化学习AGC的相关知识.在文章开始之前,再给读者简单介绍一下AGC,以免第一次来的读 ...