远程连接服务器的一些方法

Windows Server 远程桌面连接

如果你的服务器装的操作系统是 Windows Server ,那么可以在自己的 Windows 电脑上直接远程控制图形化界面。

Win+R输入mstsc运行,进入远程桌面连接,在计算机一栏中填写要连接的服务器IP地址或域名,用户名即服务器登录的用户名,输入密码连接,可以将记录保存在本地这样下次就不用再输密码了。

终端SSH远程连接服务器

要求本地主机装有SSH客户端,服务器装有SSH服务器。可在 PowerShell 输入以下命令查看是否安装:

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

若均未安装则输出

1
2
3
4
5
Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

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

SSH客户端不用特地安装,安装git时自带。

Windows Server 2022 没有SSH服务器,需要自行安装。

用 PowerShell 安装

管理员权限运行 PowerShell ,执行:

1
2
3
4
5
# 安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

安装完成后继续运行:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 启动 SSH 服务器
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# 确认防火墙规则已配置。它应该由安装程序自动创建。运行以下程序进行验证
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
Write-Output "防火墙规则 'OpenSSH-Server-In-TCP' 不存在,正在创建..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "防火墙规则 'OpenSSH-Server-In-TCP' 已存在。"
}

记得开放端口,默认为22端口。

一切都完成后,在本地计算机终端中运行:

1
2
3
4
ssh 服务器登录用户名@IP地址 -p 连接端口

# 举例如下,端口可省略
ssh Administrator@123.123.123.123 -p 22

然后输入密码即可连接成功。

Windows 设置中安装 OpenSSH

设置中安装OpenSSH

VSCode 中使用 Remote - SSH 远程连接服务器

首先确保上一方法是可行的。

VSCode 安装拓展Remote - SSH,左侧菜单会多出一个远程资源管理器图标。如图操作进入.ssh\config

vscode

.ssh\config中这样填写:

1
2
3
4
Host my_server
HostName 123.123.123.123
User Administrator
Port 22

其中my_server是给服务器起的名称,随便填,HostName是服务器IP地址,User是服务器登录用户名,Port是连接端口,可省略,默认为22。

保存后左侧出现对应的服务器,选择在新窗口连接,输入密码,选择服务器操作系统,即可像在本地工作区一样对远程工作区进行操作。