SSH连接Windows「用户名与密码的坑」及解决方案

在尝试通过SSH连接到Windows进行远程工作时,可能会遇到Permissiondenied的错误。这通常是由于用户名或密码混淆导致的,因为Windows的网络和本地账户可能不一致。解决方案包括明确Windows的本地用户和网络用户的账号密码,以及注意系统中显示的用户名可能与实际用于SSH的用户名不同。可以通过修改注册表、用户文件夹名称和计算机管理中的用户信息来解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

问题

当我们想要通过 SSH 连接 Windows 来进行一些远程办公的时候,通常需要进行以下准备工作:

  • Windows 上安装 OpenSSH 服务器

在系统的「设置>应用>可选功能」中搜索关键词「SSH」即可找到该应用并下载安装

请添加图片描述

  • 确定 WindowsIP 地址(以局域网为例子)用户名和登录密码

打开「Windows PowerShell」输入「ipconfig」即可看到其中「IPv4 地址」就是路由器给Windows分配的局域网地址而「C:\User\tuliwanghao」中的「tuliwanghao」就是用户名,“一般来说”密码就是你启动 Windows 系统时登录用户的所输入密码

请添加图片描述

  • 在另外一台设备上配置 .ssh/config 中的登录字段,在需要登录 Windows 的设备的 Shell 中输入 ssh YourAnyName 启动服务后按提示键入密码进行登录即可
# .ssh/config
Host YourAnyName
  HostName 192.168.4.25
  User tuliawnghao
  Port 22
# password 输入是不可见的
********

看起来似乎是十分简单的,应该不会遇到任何问题吧?其实不然,实际操作过程中问题不少,尤其是在输入用户名和密码,经常会发现 ping Windows 的 IP 是通的,但是 SSH 就是连接不上,一直出现出现「Permission denied, please try again」的警告

个人认为这种问题频繁出现的罪魁祸首是 Windows 系统的用户名的 UI 显示的策略的迷惑性,即常常突出显示的字符并不是系统真实使用的字符,以及 Windows 系统的本地账户与网络账户两种登录模式的混乱,即使使用网络用户登录 Windows 系统,SSH 仍然默认使用本地账户,因此有时候我们会很难确定 SSH 中所需要的用户名和密码到底是什么

方案

Windows 系统通过网络登录后可以在系统的账户信息看到一个显示的加粗的名称和 Microsoft 账户的登录邮箱地址,其中显示的加粗的名称是你本地系统中用户名的全称,而本地系统中的用户名则是 C 盘用户文件夹中本地用户的个人文件夹的名称

请添加图片描述
请添加图片描述

以上可以通过注册表中的信息以及计算机管理中的信息得到确认
请添加图片描述
请添加图片描述
值得一题的是,涉及本地用户名称的相关信息可以在计算机管理中启用管理员用户后登录管理员用户进行一一修改,修改 C 盘用户文件夹中本地用户的个人文件夹的名称,修改注册表中的本地用户名称,修改计算机管理中的本地用户名称即可

当弄清楚了 Windows 系统的本地用户账号密码以及网络用户账号密码后,使用本地用户账户和网络用户密码即可成功登录 SSH 服务远程 Windows 主机

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昊大侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值