如何使用 SSH 远程控制一台 Windows 服务器

如何使用 SSH 远程控制一台 Windows 服务器

查了一下,Windows 上其实也是有 SSH 服务器的,只不过默认是没有装的,这里只需要安装一个 OpenSSH 服务器就好了。

Win10 的话,就在设置里面可以安装,从开始菜单打开“设置”,然后选择应用和功能,这里就有一个“管理可选功能”的选项。

如何使用 SSH 远程控制一台 Windows 服务器_第1张图片

应用和功能页面

点击之后便可以看到一个可选功能,选择 OpenSSH 服务器即可,一般情况下是没有安装的。如果没有安装的话它会提示一个安装按钮,这里我已经安装好了,就提示了一个卸载按钮。

管理可选功能页面
如何使用 SSH 远程控制一台 Windows 服务器_第2张图片

OK,有了它,直接点击安装即可完成 OpenSSH 服务器的安装。
当然如果你是想批量部署 Windows 服务器的话,当然是推荐使用 PowerShell 来自动化部署了。
首先需要用管理员身份启动 PowerShell,使用如下命令看一下,要确保 OpenSSH 可用于安装:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
输出应该是类似的结果:

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

然后使用 PowerShell 安装服务器即可:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
输出结果类似:

Path          :
Online        : True
RestartNeeded : False
这样也可以完成 OpenSSH 的安装。

安装完成之后,就需要进行一些初始化配置了,还是以管理员身份,使用 PowerShell 执行即可。

首先需要开启 SSHD 服务:
Start-Service sshd

然后设置服务的自动启动:
Set-Service -Name sshd -StartupType 'Automatic'
最后确认一下防火墙是否是放开的:
Get-NetFirewallRule -Name *ssh*

如果是放开的,那么结果会提示 OpenSSH-Server-In-TCP这个状态是 enabled。
好了,完成如上操作之后我们就可以使用 SSH 来连接我们的 Windows 服务器了。

连接

连接非常简单了,用户名密码就是 Windows 的用户名和密码,使用 IP 地址链接即可。
比如我的 Windows 开发机的局域网 IP 为:10.172.134.88,那么就可以使用如下命令完成链接:
ssh [email protected]
然后输入密码,就连接成功了,和 Linux 的是一样的。

Windows 使用 SSH 密钥免密码登入 Linux
创建密钥
ssh-keygen

ssh-keygen -t ed25519
Public Key 路径与文件名
ublic Key 储放的路径与档名必须依据 /etc/ssh/sshd_config 内的 AuthorizedKeysFile 定义来设置:
sudo cat /etc/ssh/sshd_config | grep AuthorizedKeysFile
显示结果:
AuthorizedKeysFile .ssh/authorized_keys
拷贝windows的id_rsa.pub到linux ~/.ssh/下面:
/etc/ssh/sshd_config 设置档更改 Public Key 档名:
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

通过windows端mobaxterm,用另一台电脑windows中转,最终登录到linux机器

+-------------+      +-------------+       +-----------+
| 本地Windows |       | 远端Windows |       | 远端Linux  |
|   外网      +------>   外网       +------>   内网      |
+-------------+      |   内网      |       +------------+
                     +-------------+

本地Windows机器上登录,打开mobaxterm,左侧Sessions右击,
如何使用 SSH 远程控制一台 Windows 服务器_第3张图片

打开Session settings以后,
SSHBasic SSH settings -> Network settings -> SSH gateway(jump host)
先把Romote host设置好,即远端Linux
如何使用 SSH 远程控制一台 Windows 服务器_第4张图片

再设置SSH gateway,即远端Windows中断机器
最后OK登录即可

你可能感兴趣的:(ssh,windows,服务器,mobaxterm)