这个概念通常指的是通过命令行界面,远程连接到另一台计算机(服务器、虚拟机或其他设备)并执行操作,这在系统管理、开发和运维中是最核心、最高效的技能之一。

下面我将从几个方面来全面解释:
- 核心概念与协议
- 最核心的命令:
ssh - 文件传输命令
- 图形界面远程命令
- Windows 远程命令
- 常用操作示例
核心概念与协议
远程终端的本质是客户端/服务器模型,你的本地计算机是客户端,你要连接的远程计算机是服务器,它们之间通过网络和特定的协议进行通信。
| 协议名称 | 全称 | 特点 | 主要用途 |
|---|---|---|---|
| SSH | Secure Shell | 加密、安全、功能强大,是目前绝对主流的远程管理协议。 | 远程登录、远程执行命令、端口转发、文件传输(通过SFTP/SCP)。 |
| Telnet | Teletype Network | 不加密、明文传输,非常不安全。 | 现已基本被淘汰,仅用于一些非常古老的设备或教学场景。 |
| RSH | Remote Shell | 类似 Telnet,安全性也较差。 | 同样已被 SSH 替代。 |
| RDP | Remote Desktop Protocol | 图形化协议,提供完整的桌面环境体验。 | Windows 远程桌面、Linux 的 xrdp 等。 |
在 99% 的情况下,你都应该使用 SSH 协议。
最核心的命令:ssh (Secure Shell)
ssh 是你与远程 Linux/Unix 服务器交互的基石。

基本语法
ssh [用户名]@[主机地址] -p [端口号]
[用户名]:你想要登录的远程系统上的用户名(root,ubuntu,ec2-user)。[主机地址]:远程服务器的 IP 地址或域名(168.1.100,github.com)。-p [端口号]:SSH 服务的端口号,默认是22,如果服务器修改了默认端口,就必须用-p指定。
常用选项
| 选项 | 含义 | 示例 |
|---|---|---|
-i <identity_file> |
指定私钥文件进行身份验证,而不是密码。 | ssh -i ~/.ssh/my_key.pem user@host |
-L |
本地端口转发,将本地端口的数据通过 SSH 隧道转发到远程主机的某个端口。 | ssh -L 8080:localhost:80 user@host |
-R |
远程端口转发,将远程主机的端口通过 SSH 隧道转发到本地。 | ssh -R 8080:localhost:80 user@host |
-N |
不执行远程命令,仅用于端口转发。 | ssh -N -L 8080:localhost:80 user@host |
-f |
在后台运行 SSH 命令,常与 -N 一起使用。 |
ssh -f -N -L 8080:localhost:80 user@host |
-C |
启用数据压缩。 | ssh -C user@host |
实践示例
-
基本登录
# 以 'ubuntu' 用户身份连接到 IP 为 192.168.1.100 的服务器,使用默认的 22 端口 ssh ubuntu@192.168.1.100
-
指定端口登录
# 连接时指定 SSH 服务在 2222 端口 ssh user@myserver.com -p 2222
-
使用密钥登录(推荐) 首先需要配置好 SSH 密钥对(
ssh-keygen),并将公钥(.pub文件)上传到服务器。# 使用指定的私钥文件登录 ssh -i /path/to/your/private_key.pem user@ec2-xx-xx-xx-xx.compute-1.amazonaws.com
-
执行单条远程命令
(图片来源网络,侵删)# 登录后立即执行 'ls -l' 命令,然后退出 ssh user@host "ls -l" # 获取远程服务器的磁盘使用情况 ssh user@host "df -h"
文件传输命令
在远程操作中,经常需要传输文件,以下是几个基于 SSH 的常用工具。
scp (Secure Copy)
scp 用于在本地和远程主机之间安全地复制文件。
语法:
# 从本地复制到远程 scp [选项] 本地文件路径 [用户名@]远程主机:远程路径 # 从远程复制到本地 scp [选项] [用户名@]远程主机:远程文件路径 本地路径
示例:
# 1. 复制本地文件到远程服务器的 /home/user/ 目录下 scp myfile.txt user@192.168.1.100:/home/user/ # 2. 复制本地整个文件夹到远程(使用 -r 递归) scp -r my_project/ user@192.168.1.100:/home/user/ # 3. 从远程服务器下载文件到本地 scp user@192.168.1.100:/home/user/backup.tar.gz ./ # 4. 通过指定端口和密钥传输文件 scp -P 2222 -i ~/.ssh/my_key.pem report.pdf user@host:/tmp/
sftp (Secure File Transfer Protocol)
sftp 提供了一个交互式的文件传输会话,感觉就像在用 FTP,但它是加密的,它更灵活,适合复杂的文件管理操作。
语法:
sftp [用户名@]远程主机
进入 sftp> 提示符后常用命令:
| SFTP 命令 | 对应的本地命令 | 功能 |
|---|---|---|
ls |
lls |
列出远程/当前目录的文件 |
cd |
lcd |
切换远程/当前工作目录 |
pwd |
lpwd |
显示远程/当前工作目录 |
get <remote_file> |
下载远程文件到本地 | |
put <local_file> |
上传本地文件到远程 | |
mkdir <dir> |
在远程创建目录 | |
rm <file> |
删除远程文件 | |
exit 或 bye |
退出 sftp 会话 |
示例:
# 连接到远程服务器 sftp user@192.168.1.100 # 进入 sftp 提示符后 sftp> ls sftp> cd /var/log sftp> get nginx.log sftp> put local_file.txt /home/user/ sftp> exit
图形界面远程命令
如果你需要操作带有图形界面的远程系统(如 Ubuntu Desktop, Windows Server)。
Linux/Unix (VNC/X11)
- VNC (Virtual Network Computing):一种通用的图形化远程桌面协议。
- 命令:
vncviewer [server_ip]:[display_number] - 需要在服务器端先安装并运行 VNC 服务器(如
tigervnc,x11vnc)。
- 命令:
- X11 Forwarding (X 转发):通过 SSH 隧道运行远程的图形程序,该程序会显示在本地桌面上。
- 命令:
ssh -X user@host - 然后可以直接在终端里运行远程的图形程序,如
ssh -X user@host xeyes,xeyes窗口会出现在你的本地屏幕上。
- 命令:
Windows (RDP)
-
RDP (Remote Desktop Protocol):Windows 原生的图形化远程桌面协议。
-
客户端命令:在 Windows 命令提示符或 PowerShell 中使用
mstsc。 -
命令示例:
# 直接打开远程桌面连接窗口 mstsc # 直接连接到指定服务器,并指定用户名 mstsc /v:192.168.1.200 /u:Administrator
-
Windows 远程命令
对于 Windows 系统,除了 mstsc,还有一些基于命令行的工具。
wmic (Windows Management Instrumentation Command-line)
用于远程管理 Windows 计算机的信息,非常强大。
语法:
wmic /node:"[远程主机IP]" /user:"[用户名]" password:"[密码]" [命令]
示例:
# 获取远程计算机的操作系统信息 wmic /node:192.168.1.200 /user:admin /password:123456 os get name, version # 获取远程计算机的CPU信息 wmic /node:192.168.1.200 /user:admin /password:123456 cpu get name
psexec (Sysinternals PsExec)
来自微软 Sysinternals 套件,可以在远程计算机上执行命令,就像在本地一样。
语法:
psexec \\[远程主机IP] -u [用户名] -p [密码] [命令]
示例:
# 在远程计算机上打开一个命令提示符 psexec \\192.168.1.200 -u admin -p 123456 cmd # 在远程计算机上执行一个命令并输出结果 psexec \\192.168.1.200 -u admin -p 123456 "ipconfig /all"
总结表格
| 场景 | 推荐命令/工具 | 协议 | 主要特点 |
|---|---|---|---|
| 远程终端登录 | ssh |
SSH | 首选,安全、功能强大,可交互或执行单命令。 |
| 快速文件复制 | scp |
SSH | 简单、快速,适合一次性文件或文件夹的复制。 |
| 交互式文件管理 | sftp |
SSH | 提供类似 FTP 的交互式界面,适合复杂的文件操作。 |
| 远程桌面(Linux) | vncviewer / ssh -X |
VNC / X11 | VNC 提供完整桌面,X11 转发只运行单个图形程序。 |
| 远程桌面(Windows) | mstsc |
RDP | Windows 原生体验,最常用。 |
| Windows 命令行管理 | wmic / psexec |
DCOM / SMB | wmic 用于信息查询,psexec 用于执行命令。 |
掌握这些命令,你就可以高效地管理任何远程服务器或计算机了,从 ssh 开始,逐步熟悉 scp 和 sftp,你就能解决绝大多数远程操作问题。
