温馨提示×

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

小樊
57
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