菜鸟科技网

远程终端命令有哪些核心功能?如何高效学习并应用于实际系统管理?

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

远程终端命令有哪些核心功能?如何高效学习并应用于实际系统管理?-图1
(图片来源网络,侵删)

下面我将从几个方面来全面解释:

  1. 核心概念与协议
  2. 最核心的命令:ssh
  3. 文件传输命令
  4. 图形界面远程命令
  5. Windows 远程命令
  6. 常用操作示例

核心概念与协议

远程终端的本质是客户端/服务器模型,你的本地计算机是客户端,你要连接的远程计算机是服务器,它们之间通过网络和特定的协议进行通信。

协议名称 全称 特点 主要用途
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 服务器交互的基石。

远程终端命令有哪些核心功能?如何高效学习并应用于实际系统管理?-图2
(图片来源网络,侵删)

基本语法

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

实践示例

  1. 基本登录

    # 以 'ubuntu' 用户身份连接到 IP 为 192.168.1.100 的服务器,使用默认的 22 端口
    ssh ubuntu@192.168.1.100
  2. 指定端口登录

    # 连接时指定 SSH 服务在 2222 端口
    ssh user@myserver.com -p 2222
  3. 使用密钥登录(推荐) 首先需要配置好 SSH 密钥对(ssh-keygen),并将公钥(.pub 文件)上传到服务器。

    # 使用指定的私钥文件登录
    ssh -i /path/to/your/private_key.pem user@ec2-xx-xx-xx-xx.compute-1.amazonaws.com
  4. 执行单条远程命令

    远程终端命令有哪些核心功能?如何高效学习并应用于实际系统管理?-图3
    (图片来源网络,侵删)
    # 登录后立即执行 '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> 删除远程文件
exitbye 退出 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 xeyesxeyes 窗口会出现在你的本地屏幕上。

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 开始,逐步熟悉 scpsftp,你就能解决绝大多数远程操作问题。

分享:
扫描分享到社交APP
上一篇
下一篇