温馨提示×

centos虚拟机如何进行远程连接

小樊
38
2025-11-03 12:19:08
栏目: 云计算

CentOS虚拟机远程连接方法(命令行/图形界面)

远程连接CentOS虚拟机主要有两种需求:命令行操作(轻量高效)和图形界面操作(便捷可视化)。以下是具体实现方法及注意事项:

一、命令行远程连接(SSH)

SSH(Secure Shell)是Linux系统默认的加密远程登录协议,适用于命令行管理。

1. 安装OpenSSH服务器

在CentOS虚拟机终端执行以下命令,安装OpenSSH服务器:

sudo yum install openssh-server -y
2. 启动并配置SSH服务
  • 启动SSH服务:
    sudo systemctl start sshd
    
  • 设置SSH服务开机自启动(避免虚拟机重启后服务停止):
    sudo systemctl enable sshd
    
  • (可选)修改SSH配置文件(增强安全性或调整端口):
    编辑/etc/ssh/sshd_config文件,常用调整项:
    • Port 22:修改默认端口(如Port 2222),需同步更新防火墙规则;
    • PermitRootLogin yes:允许root用户登录(生产环境建议设为no,使用普通用户+sudo);
    • PasswordAuthentication yes:允许密码认证(若用密钥认证,设为no)。
      修改后重启服务生效:
    sudo systemctl restart sshd
    
3. 获取虚拟机IP地址

在虚拟机终端执行以下命令,查看网络接口的IPv4地址(通常为ens33eth0):

ip addr show

输出示例:

inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33

其中192.168.1.100即为虚拟机的IP地址。

4. 配置VirtualBox网络(关键步骤)

若虚拟机使用NAT模式(默认),需设置端口转发,将主机的某个端口映射到虚拟机的SSH端口(默认22):

  • 关闭虚拟机,进入VirtualBox管理器→选中目标虚拟机→点击“设置”→“网络”→“适配器1”→“高级”→“端口转发”;
  • 添加规则:名称(如SSH)、协议(TCP)、主机IP(留空,表示所有主机IP)、主机端口(如2222)、子系统IP(留空)、子系统端口(22)。
    若使用桥接模式,虚拟机将直接接入物理网络,无需端口转发,但需确保主机与虚拟机在同一局域网。
5. 远程连接虚拟机

在宿主机(如Windows、Mac)上使用SSH客户端连接:

  • Windows:使用PuTTY(下载地址:https://www.putty.org),输入虚拟机IP(或主机端口,如127.0.0.1:2222)和用户名(如root),点击“Open”;
  • Mac/Linux:终端执行以下命令:
    ssh username@虚拟机IP -p 端口(默认22可省略)
    
    示例:
    ssh root@192.168.1.100
    
    输入密码后即可登录。

二、图形界面远程连接(VNC/XRDP)

若需要图形界面(如桌面环境),可使用VNC(Virtual Network Computing)或XRDP(Remote Desktop Protocol)服务。

1. VNC服务(TigerVNC)

VNC提供点对点的图形桌面共享,适合个人使用。

1.1 安装TigerVNC服务器

在CentOS虚拟机终端执行:

sudo yum install tigervnc-server -y
1.2 配置VNC服务
  • 为用户设置VNC密码(如用户root):
    vncpasswd
    
    输入并确认密码(最多8位)。
  • 创建systemd服务文件(以用户root、会话ID:1为例,对应端口5901):
    sudo vi /etc/systemd/system/vncserver@:1.service
    
    内容如下(替换<user>为实际用户名,如root):
    [Unit]
    Description=Start TigerVNC server at startup
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=<user>
    Group=<user>
    WorkingDirectory=/home/<user>
    PIDFile=/home/<user>/.vnc/%H:%i.pid
    ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
    ExecStart=/usr/bin/vncserver :%i
    ExecStop=/usr/bin/vncserver -kill :%i
    
    [Install]
    WantedBy=multi-user.target
    
  • 重载systemd配置并启动服务:
    sudo systemctl daemon-reload
    sudo systemctl enable vncserver@:1
    sudo systemctl start vncserver@:1
    
1.3 配置防火墙

VNC默认使用5900+会话ID端口(如:1对应5901),允许该端口通过防火墙:

sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload
1.4 远程连接VNC

在宿主机上使用VNC客户端(如RealVNC Viewer、TightVNC Viewer):

  • 输入连接地址:虚拟机IP:会话ID(如192.168.1.100:1);
  • 输入之前设置的VNC密码,即可看到CentOS图形桌面。
2. XRDP服务(远程桌面协议)

XRDP兼容Windows远程桌面(mstsc),适合需要跨平台图形连接的用户。

2.1 安装XRDP服务

在CentOS虚拟机终端执行:

sudo yum install epel-release -y  # 安装EPEL仓库(提供xrdp包)
sudo yum install xrdp -y
2.2 启动XRDP服务
sudo systemctl enable xrdp
sudo systemctl start xrdp
2.3 配置防火墙

XRDP默认使用3389端口(与Windows RDP一致),允许该端口通过防火墙:

sudo firewall-cmd --permanent --add-port=3389/tcp
sudo firewall-cmd --reload
2.4 远程连接XRDP

在宿主机(如Windows)上:

  • 打开“远程桌面连接”(Win+R输入mstsc);
  • 输入虚拟机IP地址(如192.168.1.100),点击“连接”;
  • 输入CentOS用户名和密码,即可进入图形桌面。

注意事项

  • 网络模式:VirtualBox/NAT模式下需配置端口转发,桥接模式下需确保主机与虚拟机在同一局域网;
  • SELinux:若启用了SELinux(默认开启),需调整策略允许SSH/VNC/XRDP服务(如setsebool -P ssh_sysadm_login on),或临时设为permissive模式(setenforce 0);
  • 密码安全:避免使用简单密码,建议开启密钥认证(SSH)或修改默认端口(SSH/VNC/XRDP);
  • 服务状态:连接失败时,可通过systemctl status sshd/vncserver@:1/xrdp检查服务是否运行,或journalctl -xe查看日志排查问题。

以上方法覆盖了CentOS虚拟机远程连接的常见场景,可根据需求选择合适的方案。

0