linux

Linux虚拟机远程访问如何设置

小樊
46
2025-10-26 16:01:36
栏目: 云计算

Linux虚拟机远程访问设置指南

远程访问Linux虚拟机主要通过SSH(命令行)VNC(图形桌面)、**XRDP(Windows远程桌面兼容)**三种方式实现,以下是详细步骤:

一、基础准备:虚拟机网络设置

远程访问的前提是虚拟机与宿主机处于同一网络环境。以VMware为例,需将虚拟机网络适配器设置为NAT模式(共享宿主机IP)或桥接模式(直接接入局域网),确保虚拟机可被宿主机访问。设置后,需开启虚拟机内的VMware Network Adapter VMnet8(NAT模式对应网卡)。

二、SSH远程命令行访问(最常用)

SSH是Linux远程管理的标准协议,提供加密通信,适用于命令行操作。

1. 安装SSH服务
2. 启动SSH服务并设置开机自启
# 启动SSH服务
sudo systemctl start ssh
# 设置开机自启
sudo systemctl enable ssh
# 检查服务状态(确保为“active (running)”)
sudo systemctl status ssh
3. 配置SSH(可选但建议)

编辑配置文件/etc/ssh/sshd_config,提升安全性:

sudo nano /etc/ssh/sshd_config

保存后重启SSH服务:

sudo systemctl restart ssh
4. 获取虚拟机IP地址

在虚拟机终端运行以下命令,获取IPv4地址:

ip addr show  # Ubuntu/Debian
# 或
ip a          # 新版本Ubuntu

输出中查找inet字段(如192.168.1.100),即为虚拟机IP。

5. 远程连接
6. 公钥免密登录(进阶)

三、VNC图形桌面远程访问

若需要图形化操作(如桌面环境),可使用VNC协议。

1. 安装VNC服务器
2. 配置VNC密码

运行以下命令设置登录密码(最多8位):

vncserver

首次运行会提示设置密码,后续可修改密码:

vncpasswd
3. 配置VNC服务(自动启动)

编辑用户级配置文件~/.vnc/xstartup,添加桌面环境启动命令(以GNOME为例):

nano ~/.vnc/xstartup

内容如下:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc

保存后赋予执行权限:

chmod +x ~/.vnc/xstartup

创建systemd服务文件/etc/systemd/system/vncserver@:1.service:1表示端口5901):

sudo nano /etc/systemd/system/vncserver@:1.service

内容如下(替换your_username):

[Unit]
Description=Start VNC server at startup
After=syslog.target network.target

[Service]
Type=simple
User=your_username
ExecStart=/usr/bin/vncserver :1
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存后启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service
4. 远程连接

在宿主机安装VNC客户端(如RealVNC、TigerVNC),输入虚拟机IP和端口5901:1对应5901),点击“Connect”,输入VNC密码即可登录图形桌面。

四、XRDP远程桌面(兼容Windows远程桌面)

若习惯使用Windows远程桌面(mstsc),可安装XRDP服务。

1. 安装XRDP
2. 启动XRDP服务
sudo systemctl start xrdp
sudo systemctl enable xrdp
3. 配置防火墙

允许XRDP端口(默认3389):

sudo ufw allow 3389/tcp  # Ubuntu/Debian
# 或
sudo firewall-cmd --add-port=3389/tcp --permanent  # CentOS/RHEL
sudo firewall-cmd --reload
4. 远程连接

在宿主机使用Windows远程桌面(mstsc),输入虚拟机IP,点击“Connect”,输入用户名和密码即可登录。

五、常见问题排查

以上步骤覆盖了Linux虚拟机远程访问的主要方式,可根据需求选择合适的方法。SSH适合命令行管理,VNC/XRDP适合图形化操作,其中SSH因安全性高是最推荐的远程管理方式。

0
看了该问题的人还看了