网上查了很多博客资料,基本上都是Windows主机通过SSH连接Ubuntu系统,本文简单实现在同一个局域网下,Ubuntu终端通过SSH连接到Windows计算机。
1、在Windows系统添加OpenSSH.Server
以管理员身份运行Windows PowerShell,输入以下命令,检查是否安装ssh的server服务:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
如果显示如下内容,则表示有 OpenSSH 客户端,但没有服务器:
Name : OpenSSH.Client~~~~0.0.1.0
State : Installed
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
需要输入以下命令进行安装:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
安装完毕后,启动SSH服务器(作为Windows服务):
Start-Service sshd
# Get-Service sshd 查看是否启动成功
如果成功启动,会显示如下内容:
Status Name DisplayName
------ ---- -----------
Running sshd OpenSSH SSH Server
注意:确保Ubuntu系统和Windows系统连接同一个局域网,且不要关闭当前PowerShell窗口。
2、在Ubuntu终端通过SSH连接Windows计算机
首先需要查看Windows系统的用户名及IP地址,然后打开Ubuntu终端,输入命令:
# ping <IP地址> # 可以检查IP地址是否正确
ssh <用户名>@<IP地址> # 不需要输入尖括号
然后会提示输入Windows系统的用户名密码:
<用户名>@<IP地址>'s password:
密码正确并按回车即会显示以下内容,表示连接成功:
Microsoft Windows [版本 10.0.19045.3692]
Copyright (c) Microsoft Corporation. All rights reserved.
C:\Users\用户名>
特别提醒,如果Windows系统登录的是本地用户(Administrator),且并未设置或忘记管理员密码(不是pin码),可以参考以下方案进行密码重置:
打开搜索,以管理员身份运行cmd窗口,执行命令:net user Administrator 123456,即可将管理员密码强制修改成123456。
连接成功后,即可通过PowerShell实现在Ubuntu终端控制Windows系统运行脚本以及传输文件等等。
最后,在Ubuntu终端输入exit即可关闭SSH连接,在Windows PowerShell中输入Stop-Service sshd以关闭SSH服务器。