文章目录
- 问题
- 方案
问题
当我们想要通过 SSH 连接 Windows 来进行一些远程办公的时候,通常需要进行以下准备工作:
- 在 Windows 上安装 OpenSSH 服务器
在系统的「设置>应用>可选功能」中搜索关键词「SSH」即可找到该应用并下载安装
- 确定 Windows 的 IP 地址(以局域网为例子)用户名和登录密码
打开「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 主机