菜鸟科技网

远程访问服务器常用命令有哪些?

远程访问服务器是现代IT管理和开发工作中不可或缺的技能,无论是系统管理员维护服务器、开发者部署应用,还是运维团队监控系统状态,都需要通过特定的命令或工具与远程服务器建立连接并进行操作,以下是关于远程访问服务器的常用命令、工具及其使用方法的详细介绍,涵盖SSH、RDP、VNC、FTP/SFTP等多种协议,帮助用户根据不同场景选择合适的远程访问方式。

远程访问服务器常用命令有哪些?-图1
(图片来源网络,侵删)

基于SSH协议的远程访问命令

SSH(Secure Shell)是目前最常用的远程服务器访问协议,通过加密传输保障数据安全,广泛用于Linux/Unix系统的远程管理。

基本连接命令

使用ssh命令可以快速建立与服务器的连接,基本语法为:

ssh [用户名]@[服务器IP或域名] -p [端口号]

root用户身份连接IP为168.1.100的服务器(默认端口22):

ssh root@192.168.1.100

若服务器非默认端口(如2222),则需添加-p参数:

远程访问服务器常用命令有哪些?-图2
(图片来源网络,侵删)
ssh root@192.168.1.100 -p 2222

密钥认证与免密登录

为提高安全性并避免重复输入密码,可通过SSH密钥对实现免密登录:

  • 生成密钥对:本地执行ssh-keygen -t rsa -b 4096,生成公钥(~/.ssh/id_rsa.pub)和私钥(~/.ssh/id_rsa)。
  • 上传公钥至服务器:使用ssh-copy-id命令将公钥复制到服务器的~/.ssh/authorized_keys文件中:
    ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100

    完成上述步骤后,再次登录时无需输入密码。

SSH高级选项

SSH命令支持多种参数优化连接体验,

  • -C:启用压缩,适合低带宽网络。
  • -N:仅执行远程命令,不启动交互式shell(常用于端口转发)。
  • -f:后台运行SSH命令。
  • -L/-R:本地/远程端口转发,实现安全隧道。

通过SSH执行远程命令

无需登录服务器即可直接执行命令,结果会返回到本地终端:

远程访问服务器常用命令有哪些?-图3
(图片来源网络,侵删)
ssh root@192.168.1.100 "ls -l /home"

基于RDP协议的远程访问(Windows服务器)

RDP(Remote Desktop Protocol)是Windows系统的标准远程访问协议,提供图形化界面操作。

使用Windows系统自带的远程桌面连接

  • 客户端连接:在Windows搜索中输入“远程桌面连接”,输入服务器IP和用户名,输入密码后即可登录。
  • 命令行启动:通过mstsc命令打开远程桌面客户端:
    mstsc /v:192.168.1.100 /admin

    /admin参数表示连接到服务器的管理会话(适用于Windows Server)。

Linux系统连接RDP服务器

在Linux客户端可使用rdesktopxfreerdp工具:

# 安装rdesktop(Ubuntu/Debian)
sudo apt install rdesktop
# 连接服务器
rdesktop -u username -p password 192.168.1.100

基于VNC协议的图形化远程访问

VNC(Virtual Network Computing)是跨平台的图形化远程访问协议,适用于Linux/Windows/macOS系统。

VNC服务器配置(以Linux为例)

  • 安装VNC服务器(如TigerVNC):
    sudo apt install tigervnc-standalone-server
  • 设置VNC密码:
    vncserver :1
  • 启动VNC会话后,通过VNC客户端(如RealVNC、TigerVNC Viewer)连接IP:11为显示编号)。

VNC命令行操作

  • 查看当前VNC会话:
    vncserver -list
  • 停止VNC会话:
    vncserver -kill :1

文件传输相关命令

远程访问服务器时,经常需要传输文件,以下是常用工具:

SCP(基于SSH的安全文件传输)

# 从服务器下载文件到本地
scp root@192.168.1.100:/path/to/file /local/path
# 上传本地文件到服务器
scp /local/file root@192.168.1.100:/remote/path

SFTP(交互式文件传输)

通过SSH登录后进入SFTP模式,支持批量操作:

sftp root@192.168.1.100
sftp> get /remote/file /local/path
sftp> put /local/file /remote/path

FTP/FTPS(传统文件传输协议)

FTP不安全,建议使用加密的FTPS或SFTP,以lftp为例:

lftp ftp://username:password@192.168.1.100
lftp> get remote_file

远程访问服务器命令对比

以下表格总结了不同协议和工具的适用场景及特点:

协议/工具 适用系统 加密支持 主要用途 典型命令/工具
SSH Linux/Unix/macOS 命令行管理、远程执行命令 ssh, scp, sftp
RDP Windows 是(RDP 8.0+) 图形化桌面管理 mstsc, rdesktop
VNC 跨平台 否(需结合SSH) 跨平台图形化访问 tigervnc, realvnc
FTP/FTPS 跨平台 FTPS支持 文件传输(不推荐使用FTP) lftp, filezilla

相关问答FAQs

问题1:SSH连接时出现“Permission denied (publickey,password)”错误如何解决?
解答:该错误通常是由于认证失败导致的,可按以下步骤排查:

  1. 检查用户名和服务器IP是否正确;
  2. 确认密钥文件权限(需为600):chmod 600 ~/.ssh/id_rsa
  3. 验证服务器端~/.ssh/authorized_keys文件是否包含正确的公钥;
  4. 检查服务器SSH配置文件(/etc/ssh/sshd_config)是否允许密钥认证(PubkeyAuthentication yes)。

问题2:如何优化SSH连接速度,避免卡顿?
解答:可通过以下方法优化SSH连接性能:

  1. 启用压缩:在SSH命令中添加-C参数,或在客户端配置文件(~/.ssh/config)中设置Compression yes
  2. 调整加密算法:在/etc/ssh/sshd_config中指定高性能算法(如Ciphers aes128-ctr);
  3. 使用SSH multiplexing(连接复用),在配置文件中添加ControlMaster autoControlPath ~/.ssh/master-%r@%h:%p,避免重复建立连接;
  4. 禁用DNS反向解析:在服务器端设置UseDNS no,减少连接延迟。

通过以上命令和工具,用户可以根据实际需求选择合适的远程访问方式,高效完成服务器管理和维护任务。

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