Win怎么检查SSH服务器是否在运行?,命令行怎么查看?

在Windows命令行里查看SSH服务器是否在运行,核心就一条命令:sc query sshd,它会直接告诉你服务状态是RUNNING还是STOPPED。如果你用的系统版本较旧或做了精简,可能连服务名都不一样,那就得先确认OpenSSH Server到底装没装,下面我把完整的排查路径、启动命令和端口测试方法一次讲透。

用服务命令查看SSH服务当前状态

SSH服务在Windows上以“服务”的形式常驻后台,要查看它是否在运行,最稳妥的方式就是查询服务状态,这里涉及两条常用命令,适用场景略有区别。

使用ssh远程无密码登录windows cmd
加载中
使用ssh远程无密码登录windows cmd

sc query是最直接的检查方式

按下Win + R,输入cmd回车打开命令行窗口,如果你想检查本机是否安装了SSH服务器并且正在运行,执行:

sc query sshd

返回的结果里,关键是看STATE这一行,如果显示RUNNING,说明SSH服务活着;如果显示STOPPED,说明服务装了但没启动;如果提示“指定的服务未安装”,说明你这台机器压根没装OpenSSH Server。

行业共识认为,sc query这种查询方式对所有Windows版本通用,而且返回结果稳定,不受PowerShell执行策略限制,它在命令行环境下的响应速度也是最快的,适合写进批量运维脚本。

PowerShell版服务状态查询

如果你习惯用PowerShell,等价命令是Get-Service sshd,它会输出一个表格,Status列显示Running表示正常,Stopped表示已停止。

Get-Service的好处是能按需要格式化输出,比如只看状态:

Get-Service sshd | Select Name, Status, StartType

从实用角度看,sc query更适合快速看结果,Get-Service适合做后续脚本处理,两个命令本身效果一致,选哪个看你手头环境。

服务显示未运行,命令行怎么启动

不少人在排查时发现SSH服务确实装了,但状态是STOPPED,那就要主动拉起来,这一步用管理员权限打开命令行,执行:

net start sshd

正常会提示“服务已经启动成功”,这个操作是即时生效的,不需要重启电脑,如果你想让它在每次开机时自动运行,还需要改一下启动类型:

sc config sshd start= auto

注意auto前面有个空格,这是sc命令的语法要求,写错了会报参数错误,改完之后可以用sc query sshd再次确认,看到RUNNING就说明状态正常了。

启动失败的常见原因

实际操作中,net start sshd偶尔会启动失败,报错信息通常是两种:一是“服务启动后停止”,二是“系统错误5”。

Win怎么检查SSH服务器是否在运行?,命令行怎么查看?

  • 服务启动后停止:多半是配置文件C:ProgramDatasshsshd_config写错了,最常见的是端口被占用或监听地址配了无效IP,可以查看Windows事件查看器里的OpenSSH日志来定位具体原因。
  • 系统错误5:说明当前命令窗口没有管理员权限,右键以管理员身份重新打开再执行即可。

还有一种隐蔽情况:系统里安装了第三方SSH工具比如Bitvise SSH Server或FreeSSHd,它们也占用22端口,这时候内置的sshd自然起不来,建议先用下面介绍的端口检查方法全局看一下。

用命令行验证SSH端口是否在监听

服务显示RUNNING不一定代表SSH就能连上,因为端口可能被防火墙拦截,命令行本身就是最好的检测工具,我们分两步走。

本机端口监听状态

执行这条命令,会显示当前所有TCP监听状态:

netstat -ano | findstr :22

如果看到LISTENING,说明SSH服务确实在22端口上监听了,如果什么都没有,说明要么服务没起,要么SSH改了非默认端口,这时候再看一下sshd_config里的Port配置,确认实际端口号,再改netstat的过滤条件。

比较专业的建议是直接用PowerShell的Test-NetConnection来测连通性:

Test-NetConnection 127.0.0.1 -Port 22

输出的TcpTestSucceeded字段为True时,代表从本机视角看端口是通的,这一招对Windows 10和Windows Server 2019以上版本都有效。

Windows默认防火墙是否放行

如果端口没监听,另一个常见原因是防火墙把入站规则拦了,查看22端口入站规则:

netsh advfirewall firewall show rule name=all | findstr "22"

Windows安装OpenSSH Server时一般会自动创建名为“OpenSSH SSH Server”的入站规则,但有些精简版系统或改过配置后规则会丢失,重新添加规则可以这样干:

netsh advfirewall firewall add rule name=OpenSSH dir=in action=allow protocol=TCP localport=22

执行后建议再跑一次Test-NetConnection验证,确认端口从外部视角已经可访问,很多手头没有远程机器的人,容易在这一步卡住,实际上就是用本机IP测一遍就能解决问题。

win10查看ssh服务是否安装?分清两种情形

检查SSH服务状态之前,先要确认服务到底在不在,Windows的OpenSSH分客户端和服务器端两个组件,不少人装完客户端就以为服务器也装了,其实完全不是一回事。

用命令行查已安装的Windows功能

PowerShell下执行:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH'

结果会显示OpenSSH.Client

Win怎么检查SSH服务器是否在运行?,命令行怎么查看?

和OpenSSH.Server两个条目,State字段为Installed代表已安装,只看到Client的话,你的SSH服务端还没装,sc query sshd当然查不到东西。

早期Windows 10 1803及之前版本的检查方式略有不同,可以用:

dism /online /get-features | findstr OpenSSH

这种方式比较老,但依然能跑,安装SSH服务器端组件则执行:

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

安装完成后,sc query sshd就能识别到服务项了,命令执行需要一定的权限,普通用户无法直接添加系统功能组件。

服务器版系统上的差异

Windows Server系统自带的是OpenSSH.Server功能,管理员可以通过Server Manager图形界面安装,但更加快捷的依然是命令行方式,在2019/2026版本上,执行和Win10完全相同的Add-WindowsCapability命令即可。

服务器的服务名称和客户端Windows一致,也是sshd,但需要注意的是,Windows Server默认可能启用的是sshd和ssh-agent两个服务,前者是主要的SSH服务,后者用于代理密钥,检查运行状态时务必区分两者。

能ping通远程服务器但SSH连不上

这个场景在远程运维时出现率极高,服务器上确保sshd服务在运行后,SSH连接仍然失败,一般问题出在以下几个环节,从命令行判断,一条条排除。

换个端口试试远程SSH服务是否可以连接

可以拿本地OpenSSH客户端指定端口推出一个连接试试:

ssh -p 22 用户名@远程IP

如果客户端主动超时或直接拒绝,说明服务端的问题,可以加-v参数获得详细的调试输出:

ssh -v 用户名@远程IP

输出的信息里,Connection established表示TCP链路通,后面SSH2_MSG_KEXINIT处理到一半断掉,多数是加密算法或版本不兼容。

检查运维机本地的SSH服务是否处于运行状态

如果你只想确认本机是不是SSH服务器,执行刚才讲过的sc query sshd和netstat -ano | findstr :22两条命令就够了,两条都通过的情况下,本地的SSH服务对局域网是开放的,远程不能连接,那就是云安全组或公司防火墙域名白名单的策略问题。

这里多说一句,云服务器厂商的安全组规则和Windows防火墙是两套独立系统,命令行里放行本地防火墙后,还需要去云控制台确认安全组入方向规则是否放行了TCP 22端口,不然服务明明在跑,外部就是连不进来。

查看SSH服务运行的日志与排错

排查SSH服务运行异常时,命令行只是入口,日志才是决定性证据。

Win怎么检查SSH服务器是否在运行?,命令行怎么查看?

事件日志里找错误代码

Windows的OpenSSH服务事件会写入“应用程序和服务日志”下的OpenSSH节点,用命令行快速提取:

wevtutil qe "OpenSSH/Operational" /c:10 /rd:true /f:text

这条命令列出最近10条SSH运行日志,每条记录里有时间、错误码、具体描述,常见的exit status 255对应客户端连接被服务端拒绝,这时候去查看sshd_config的AllowUsers或DenyUsers规则。

如果只想看特定时间段或特定错误码,wevtutil也支持/q参数配合XPath查询,不过对多数场景来说,/c指定最近条数已经足够。

SSH服务的进程与依赖关系检查

有时候服务状态正常,但进程已经僵死,需要查看实际进程:

tasklist | findstr sshd

这可以看到sshd.exe进程的PID和内存占用,如果服务状态是RUNNING但找不到这个进程,那说明服务管理器和实际进程出现了不一致,一般用taskkill /PID 进程ID /F强制结束再重启服务即可。

另一种情况是sshd依赖的sockets服务被禁用,查看依赖关系:

sc enumdep sshd

返回的结果显示SSH Agent Service和Socket Activation Service的启动状态,这两个依赖服务如果被手动修改为禁用状态,sshd即使强行启动也会秒退。

Windows SSH服务运行常见问题速答

ssh命令提示“不是内部或外部命令”怎么办?

说明系统没安装OpenSSH客户端组件,执行Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0安装,完成后重新打开命令行,如果是精简版系统,也可以直接用完整路径C:WindowsSystem32OpenSSHssh.exe调用。

服务显示Running但端口不通,怎么排查?

先用netstat -ano | findstr :22确认监听状态,若监听了,再用Test-NetConnection 本机IP -Port 22测试防火墙,最后检查云安全组入方向规则是否放行,按这个顺序走,大部分问题会定位在防火墙或安全组上。

Windows自带的SSH服务性能如何?

对一般开发调试和日常运维,Windows原生OpenSSH运行稳定,开销较低,但并发连接数较多的文件传输场景,Linux环境下配置更灵活的sshd往往更游刃有余,Windows上调整TCP连接数和并发限制的设置相对有限,这是架构决定的。

命令行本身不复杂,sc query sshd这条命令决定了你能不能快速掌握当前SSH服务运行状态,在此基础上,把启动、端口验证、日志排查三件事串起来,Windows下管理SSH服务就能得心应手,剩下的无非是遇到问题按流程逐层排除。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/696736.html

赞 (0)
武汉GPU服务器租用如何确认适配框架?,价格多少
上一篇 2026年9月28日 13:00
TGP英雄联盟连接版本服务器失败怎么办,如何解决
下一篇 2026年9月28日 13:05

相关推荐

  • 时钟源冗余怎样帮交易系统躲开时间跳变?,是什么原理?

    时钟源冗余通过多源互备、自动切换和故障隔离机制,能让交易系统在单一时间源失效时无缝接管计时,彻底杜绝因时钟跳变引发的订单错乱、日志乱序和风控失效问题,时间跳变是交易系统最怕的“断片”交易员老王盯了一整晚的行情,凌晨两点挂出的一笔止损单,成交回报上的时间戳却比交易所慢了三百毫秒,这三百毫秒不算长,但足以让风控引擎……

    2026年9月7日
    500
  • 感知哈希相似图像搜索怎么用?如何快速识别重复图片

    感知哈希相似图像搜索通过提取图像指纹进行比对,能在毫秒级时间内从海量图库中精准定位视觉相似图片,是解决版权溯源、去重审核及内容推荐的核心技术方案,爆炸的今天,图片不再是静态的展示,而是需要被快速检索、管理和利用的数据资产,传统的基于文件名或标签的搜索方式,已经无法应对如今每天产生的数十亿张新图片,当一张经过裁剪……

    2026年5月27日
    6400
  • AIoT项目管理师怎么考?AIoT项目管理师报考条件及报名流程

    AIoT项目管理师已成为推动企业数字化转型的核心枢纽,其核心价值在于通过跨学科的技术整合能力与精细化的过程管控,解决人工智能与物联网融合过程中的复杂协同问题,确保项目从概念验证到规模化落地的商业闭环,这一角色不再局限于传统的进度跟踪,而是演变为技术、商业与数据三大维度的统筹者,直接决定智能物联网项目的成败,核心……

    2026年3月17日
    8400
  • 戴尔R720怎么装系统?,戴尔R720装系统教程有哪些?

    戴尔r720服务器怎么做系统,核心答案是在开机自检阶段通过F10进入生命周期控制器,挂载镜像完成安装, 如果这步走不通,备选方案是用启动U盘或iDRAC虚拟控制台,下文按实操顺序拆解完整流程,覆盖物理机安装和虚拟机场景,装系统前的准备工作:镜像、驱动与硬件状态确认镜像选择与引导方式确认戴尔r720属于第十二代P……

    程序编程 2026年10月31日
    900
  • 直播推流大带宽服务器怎么租,直播推流服务器租用哪家便宜?

    直播推流租大带宽服务器,核心不是先问“多大带宽”,而是先按码率、并发路数和冗余算出上行需求,再选物理机或独享带宽云主机,优先就近地域,用测试IP和实际推流压测验证丢包、抖动,最后把独享上行和SLA写进合同,先算清推流带宽,再谈租什么机器直播推流是持续上行,和网站下载型业务不一样,你买的是“推流端到服务器”的稳定……

    程序编程 2026年11月13日
    200
  • TOTHOST越南VPS新用户8折月付2.4美元起带宽够用吗?

    TOTHOST越南VPS以2.4美元起的超低月付价格、不限流量及100-200Mbps的高带宽配置,成为东南亚业务部署的高性价比首选方案,在跨境业务布局中,东南亚市场因其人口红利和互联网渗透率的快速提升,正成为众多企业和开发者的新焦点,选择服务器时,延迟稳定性、成本可控性以及网络环境的宽松度往往是决策的关键痛点……

    2026年6月30日
    1400
  • 服务器2003系统怎么设置?服务器2003系统设置教程

    服务器2003系统设置是保障老旧Windows Server 2003环境安全、稳定、高效运行的关键环节,尽管微软已于2020年4月8日终止其所有支持服务,但部分关键行业因合规性或业务连续性要求仍在使用该系统,科学、规范的系统设置,是降低风险、延长服役寿命、确保核心业务不中断的唯一可行路径,以下从安全加固、性能……

    2026年4月14日
    7100
  • AIoT是指的什么意思?AIoT和IoT有什么区别?

    AIoT是人工智能(AI)与物联网(IoT)的深度融合,即“智能物联网”,其核心本质在于赋予物联网设备“思考”与“决策”的能力,实现从“万物互联”到“万物智联”的跨越, 这不仅仅是技术的叠加,而是通过人工智能算法对海量物联网数据进行实时处理与分析,从而创造出具备智能化感知、交互与决策能力的智能系统生态, 核心定……

    2026年3月19日
    10100
  • CF好友不在同一个服务器怎么办,CF不同区怎么一起玩?

    如果你的CF好友不在同一个服务器,最直接的解决思路是:先确认你们在哪个环节失联,再选用转区、跨区好友系统或跨区房间,其中官方跨区好友功能是最常用的免费方案,先搞懂“不是一个服务器”到底是哪里卡住了很多玩家遇到“好友不是一个服务器”时,第一反应是去重新加好友,但反复发送请求都没有反应,穿越火线里的“服务器”概念有……

    2026年10月1日
    000
  • dota2更新后为何全是国外服务器,如何解决匹配问题?

    Dota2更新后匹配到的全是国外服务器,多数情况下不是游戏抽风,而是本地网络对节点库的“就近判定”失效了——根源要么在客户端的下载区域设置,要么在DNS解析与加速器节点选择上, 只要按下面这几个步骤把节点“拽”回国服,一般都能恢复正常,为什么更新之后游戏一直在主动连国外服务器Dota2本身并不区分“国服”和“外……

    2026年9月24日
    500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注