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_overview

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

首先,我们要安装OpenSSH服务器端。可以使用Powershell命令来检查公网仓库中的软件包。
Get-WindowsCapability -Online | ? Name -Like ‘*SSH‘
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 [email protected]:c:/users/administrator/.ssh/authorized_keys
之后就可以直接使用密钥登录系统了。
关于文件的权限,也并不需要按官方文章中提到的修复权限。
我服务器上文件的权限如图所示。

原文地址:https://blog.51cto.com/qiyuwei/2439659

时间: 2024-10-08 16:15:14

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

Windows server 2016无法使用RDO远程连接

RDO远程连接时提示“远程计算机需要网络级别身份验证,而您的计算机不支持该验证,请联系您的系统管理员或者技术人员来获得帮助” 1.先用个人电脑自带远程工具mstsc连接到服务器Windows Server 20162.开始-运行-gpedit.msc,进入组策略编辑器3.找到左侧边栏计算机配置-管理模板-Windows组件-远程桌面服务-远程桌面会话主机-安全项4.修改“远程(RDP)连接要求使用指定的安全层”,改为启用,安全层选择RDP5.修改“要求使用网络级别的身份验证对远程连接的用户进行身

Windowsclient SSH 远程连接Windowsserver(PowerShell Server)

近期刚搞完SSH框架.又来研究研究SSH远程连接.为什么这么要弄这个呢?由于如今我如今开发主要在自己的笔记本(windows)上,然后写的后端都要部署到实验室的台式机(windows)上,这样一来,我一改点东西的话,还得去实验室.在台式机上操作把项目pull下来然后再部署到Tomcat上(不过一个课程项目而已.不要见笑哈~).于是乎,为什么我不能远程操作我的台式机呢? 好.于是開始网上查找,发现ssh远程连接,可是大部分的教程都是linux的.windows的基本能够參考的非常少.毕竟linux

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

Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT.桥接和Host-only] 作者:天齐 一.Windows和linux虚拟机之间联网实现SSH远程连接 假如我们要给主机名为mini1的虚拟机配置ip地址,需要以下几个步骤: 在linux上查看ip地址,如果linux服务器有ip地址,让它的ip地址和windows的ip地址在同一个网段,它们之间才能联网.在linux上查看ip地址的命令为"ifconfig": 发现eth0网卡没有配置i

Windows Server 2008 R2终端服务器远程授权激活

公司技术部让装一台wind server 2008服务器,可以多人同时登陆的,而默认的windows server 2008服务器系统同时连接的最大连接数只有2个.这样一来,就会遇到"终端服务器超出最大连接数",导致无法正常登陆服务器. 一.远程桌面的开启 windows server 2008 R2系统装好后,开启远程桌面,此时,默认只有administrator 具有远程桌面的权限,其他任何用户都没有权限远程桌面连接服务器.因此,我们还得将需要进行远程桌面连接的其他用户也添加进来,

SSH 远程连接原理及故障排错详解

1.SSH 远程连接介绍 最常用的 Linux 提供远程连接服务的工具就是 SSH 软件,SSH 分为 SSH 客户端和 SSH 服务端两部分.其中,SSH服务端包含的软件程序主要有 openssl 和 openssh,在 Linux 系统中可以按如下方法查询 SSH 服务端工具的安装情况. # rpm -qa openssl openssh 其中,openssh 是提供 SSH 服务的程序,openssl 是为 SSH 提供连接加密的程序. 2.SSH 服务端介绍 启动 Linux 系统时,默

ssh远程连接介绍

一.ssh介绍 1.ssh客户端 SecureCRT.xshell.putty.Linux下的SSH客户端软件 2.ssh服务器端  openssh(ssh服务程序) 和 openssl(提供连接加密的程序) sshd 守护进程 二.查询服务器端工具安装情况: rpm -qa openssh openssl 三.ssh远程连接故障排查: 1.ping  serverIP 2.traceroute  serverIP  -n (linux系统) tracert  -d  serverIP     

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

注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作为本安装指南的基础篇. 在 <为什么说每个程序员都应该有台Mac电脑>一文中我有提到 Mac 系统的命令行环境与 Linux 系统十分类似,这是因为 Mac OS X 的操作系统内核是 Darwin,它和 Linux 一样是一种优秀的类 Unix 系统.掌握 Linux Shell 命令行的使用,

虚拟机VMware网络类型&amp;&amp;SSH远程连接Linux

前言: Linux专题是16年11月开始写,说来惭愧,已经5个月没学Linux,至今感觉连入门还没达到.暑假实习有投运维开发岗位,无奈对Linux不熟悉,校招简历也被刷了.so, 我打算先花1个月内的时间入下门.前几天还专门去当当网买了一本<跟老男孩学Linux运维-Web集群实战>.lenrning begin!! 一.虚拟机网络类型 为虚拟机选择网络类型是极其关键的.VMware虚拟机常见的网络类型有Bridged(桥接).NAT.Host-only(仅主机)3种.在创建Linux虚拟机时

SQL Server 2005 不允许远程连接解决方法

SQL Server Browser和SQL Server (sqlexpress)都连接正常,但老是登录不进去,提示说什么建立远程连接出错? 刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到 SQL Server 2005时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) "搜MSDN,上面有一片机器翻译的