温馨提示×

CentOS虚拟机远程连接如何设置

小樊
35
2025-12-21 09:01:47
栏目: 云计算

CentOS 虚拟机远程连接的实用步骤

一、网络模式选择与IP获取

  • 选择网络模式
    • 桥接 Bridged:虚拟机与宿主机处于同一网段,局域网其他设备可直接访问,适合日常开发/测试。
    • NAT:虚拟机可访问外部网络,默认外部不可直达;如需从外部访问,需在虚拟化软件中配置端口转发
  • 获取虚拟机 IP
    • 在 CentOS 内执行:ip addr show,查看如 eth0/enp0s3inet 地址。
    • 若使用桥接,该 IP 应和宿主机同网段;若使用 NAT,后续通过端口转发访问。

二、通过 SSH 远程连接(推荐)

  • 安装并启动 SSH 服务
    • 安装:sudo yum install -y openssh-server
    • 启动与开机自启:sudo systemctl start sshd && sudo systemctl enable sshd
    • 检查状态:sudo systemctl status sshd
  • 防火墙放行
    • firewalld:sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload
  • 获取 IP 并连接
    • 获取 IP:ip addr show
    • 连接:ssh username@<虚拟机IP>(默认端口 22
  • 可选优化
    • 修改默认端口:编辑 /etc/ssh/sshd_configPort,重启 sshd 并在防火墙放行新端口。
    • 禁用 root 登录或启用密钥登录以提升安全性(修改后记得重启 sshd)。

三、图形化远程桌面连接

  • VNC 方案(轻量、跨平台)
    • 安装:sudo yum install -y tigervnc-server
    • 设置 VNC 密码:vncpasswd
    • 配置服务单元(示例为显示号 :1):创建 /etc/systemd/system/vncserver@:1.service,关键行示例:
      • ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
      • PIDFile=/home/<your_username>/.vnc/%H%i.pid
    • 启动与自启:sudo systemctl daemon-reload && sudo systemctl enable --now vncserver@:1
    • 防火墙放行:sudo firewall-cmd --permanent --add-port=5901/tcp && sudo firewall-cmd --reload
    • 客户端连接:vncviewer <虚拟机IP>:1
  • RDP 方案(Windows 远程桌面)
    • 安装:sudo yum install -y epel-release && sudo yum install -y xrdp
    • 启动与自启:sudo systemctl enable --now xrdp
    • 防火墙放行:sudo firewall-cmd --permanent --add-port=3389/tcp && sudo firewall-cmd --reload
    • 客户端连接:Windows 使用 mstsc,地址为 <虚拟机IP>:3389

四、NAT 模式下从外部访问的端口转发

  • VirtualBox 设置
    • 网络适配器选择 NAT,点击“高级”→“端口转发”,添加规则:
      • 名称:如 SSH
      • 协议:TCP
      • 主机端口:如 2222
      • 子系统 IP:留空或填虚拟机 IP
      • 子系统端口:22
      • 如需 RDP/VNC,同理分别转发 3389/5901
  • 连接示例
    • SSH:ssh username@<宿主机IP> -p 2222
    • RDP:mstsc 到 <宿主机IP>:3389
    • VNC:vncviewer <宿主机IP>:5901

五、常见问题排查

  • 无法连接
    • 核对网络模式与 IP 是否正确;桥接需与宿主机同网段,NAT 需配置端口转发。
    • 确认 sshd/xrdp/vncserver 已启动:sudo systemctl status sshd(或相应服务)。
    • 检查防火墙是否放行对应端口/服务:sudo firewall-cmd --list-all
  • 连接被拒绝或长时间无响应
    • 服务未启动或端口未放行最常见;若修改过端口,确认客户端使用了新端口。
  • 图形界面黑屏/花屏
    • 调整 VNC 色深与分辨率(如 -depth 24 -geometry 1280x800),或重启 vncserver 会话。

0