温馨提示×

Ubuntu虚拟机远程访问如何实现

小樊
61
2025-09-23 03:12:42
栏目: 云计算

Ubuntu虚拟机远程访问实现方法

一、SSH远程命令行访问(轻量高效,适合管理)

SSH(Secure Shell)是一种加密的网络协议,用于安全地远程登录Ubuntu虚拟机,适合命令行操作和管理。

1. 安装OpenSSH服务器

在Ubuntu虚拟机终端中执行以下命令,安装OpenSSH服务器(若未安装):

sudo apt update
sudo apt install openssh-server

2. 启动并设置开机自启

安装完成后,启动SSH服务并设置为开机自动启动,确保虚拟机重启后仍可远程连接:

sudo systemctl start ssh
sudo systemctl enable ssh

3. 获取虚拟机IP地址

在虚拟机终端中运行以下命令,查看网络接口的IP地址(通常为inet字段的值,如192.168.1.100):

ip addr show
# 或使用快捷命令(仅显示IP)
hostname -I

4. 从主机连接虚拟机

  • Windows主机:使用PuTTY、MobaXterm等SSH客户端,输入虚拟机IP地址(如192.168.1.100),端口默认22,点击“连接”后输入Ubuntu用户名和密码即可登录。
  • Linux/macOS主机:打开终端,执行以下命令:
    ssh 用户名@虚拟机IP地址
    # 示例:ssh ubuntu@192.168.1.100
    
    第一次连接时需确认服务器指纹(输入yes),随后输入密码登录。

5. 安全优化(可选但推荐)

  • 修改默认端口:编辑/etc/ssh/sshd_config文件,将Port 22改为其他端口(如2222),重启SSH服务:
    sudo nano /etc/ssh/sshd_config
    # 修改Port行
    sudo systemctl restart ssh
    
  • 禁用密码认证:在sshd_config中设置PasswordAuthentication no,并配置SSH密钥认证(生成密钥对ssh-keygen -t rsa,复制公钥ssh-copy-id 用户名@IP),提升安全性。
  • 配置防火墙:若启用ufw防火墙,允许SSH端口:
    sudo ufw allow ssh  # 或 sudo ufw allow 22
    sudo ufw enable
    

二、VNC远程桌面访问(图形界面,适合可视化操作)

VNC(Virtual Network Computing)提供图形化远程桌面,适合需要图形界面的场景(如办公、开发)。

1. 安装VNC服务器

在Ubuntu虚拟机中安装VNC服务器(以x11vnc为例):

sudo apt update
sudo apt install x11vnc

2. 设置VNC密码

运行以下命令设置VNC连接密码(用于客户端验证):

x11vnc -storepasswd

按提示输入并确认密码(密码长度最多8位)。

3. 创建并启动VNC服务

创建systemd服务文件,实现VNC开机自启:

sudo nano /etc/systemd/system/x11vnc.service

粘贴以下内容(将your_username替换为实际用户名):

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -auth /home/your_username/.Xauthority -forever -loop -noxdamage -repeat -rfbauth /home/your_username/.vnc/passwd -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target

保存后启动服务并设置开机自启:

sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service

4. 配置防火墙

若启用ufw防火墙,允许VNC端口(默认5900,对应显示编号:0):

sudo ufw allow 5900
sudo ufw reload

5. 从客户端连接

  • Windows主机:使用VNC Viewer、RealVNC等客户端,输入虚拟机IP地址:5900(如192.168.1.100:5900),点击“连接”后输入VNC密码。
  • Linux/macOS主机:打开终端,执行以下命令:
    vncviewer 虚拟机IP地址:5900
    

三、XRDP远程桌面协议(兼容Windows远程桌面)

XRDP是基于RDP协议的开源解决方案,支持Windows远程桌面客户端直接连接Ubuntu,无需额外安装客户端。

1. 安装XRDP

在Ubuntu虚拟机中执行以下命令,安装XRDP:

sudo apt update
sudo apt install xrdp

2. 启动并设置开机自启

启动XRDP服务并设置为开机自动启动:

sudo systemctl enable xrdp
sudo systemctl start xrdp

3. 配置防火墙

允许XRDP默认端口(3389)通过防火墙:

sudo ufw allow 3389
sudo ufw reload

4. 连接远程桌面

  • Windows主机:使用“远程桌面连接”工具(mstsc),输入虚拟机IP地址,点击“连接”,输入Ubuntu用户名和密码即可登录。
  • 其他系统:使用Remmina、FreeRDP等RDP客户端,输入IP地址和凭据连接。

四、其他方法:TeamViewer(跨平台,适合临时访问)

TeamViewer是一款跨平台的远程访问工具,无需配置网络或防火墙,适合临时远程协助。

1. 安装TeamViewer

在Ubuntu虚拟机中下载并安装TeamViewer:

wget https://download.teamviewer.com/download/teamviewer_host_linux.deb
sudo dpkg -i teamviewer_host_linux.deb
sudo apt --fix-broken install  # 解决依赖问题

2. 启动TeamViewer服务

运行TeamViewer并设置开机自启:

teamviewer --daemon start
sudo systemctl enable teamviewerd

3. 获取ID和密码

在TeamViewer界面中查看“您的ID”和“密码”(密码每次重启会变化)。

4. 从客户端连接

在另一台设备上安装TeamViewer,输入远程设备的ID,点击“连接”,输入密码即可访问。

注意事项

  • 网络配置:确保虚拟机网络模式为“桥接”或“NAT”(桥接模式可直接获取局域网IP,NAT模式需配置端口转发)。
  • 静态IP:为避免IP变化导致连接失败,建议为虚拟机配置静态IP(编辑/etc/netplan/*.yaml文件,设置固定IP)。
  • 安全性:SSH密钥认证、VNC SSH隧道、XRDP密码强度等均为提升安全性的重要措施,建议启用。

0