无需使用Bastion,从本地Windows电脑访问Azure Linux虚拟机GUI
连接Azure Linux虚拟机GUI的低成本方案
方法1:SSH隧道 + VNC(推荐新手)
步骤1:在Azure虚拟机上配置VNC
通过本地PowerShell已有的SSH连接登录虚拟机后,执行以下命令(以Ubuntu为例,其他发行版替换对应包管理器):
- 安装桌面环境与VNC服务器:
sudo apt update && sudo apt install -y xfce4 xfce4-goodies tightvncserver
- 初始化VNC并设置访问密码:
tightvncserver
按提示输入两次密码,查看密码可直接回车跳过。
3. 停止默认VNC会话(端口对应:1):
tightvncserver -kill :1
- 配置VNC默认启动XFCE桌面:
echo "startxfce4 &" > ~/.vnc/xstartup chmod +x ~/.vnc/xstartup
- 重启VNC服务器并设置分辨率:
tightvncserver :1 -geometry 1920x1080
步骤2:本地建立SSH端口转发
在本地PowerShell执行(替换你的虚拟机公网IP和你的虚拟机用户名):
ssh -L 5901:localhost:5901 你的虚拟机用户名@你的虚拟机公网IP
保持该PowerShell窗口处于打开状态。
步骤3:本地连接VNC客户端
下载免费版VNC Viewer,打开后输入localhost:5901,输入之前设置的VNC密码即可进入GUI桌面。
方法2:SSH隧道 + XRDP(适配Windows本地环境)
步骤1:在Azure虚拟机上配置XRDP
- 安装XRDP与XFCE桌面环境(Ubuntu为例):
sudo apt update && sudo apt install -y xfce4 xrdp
- 将XRDP用户加入ssl-cert组:
sudo adduser xrdp ssl-cert
- 重启XRDP服务:
sudo systemctl restart xrdp
步骤2:本地建立SSH端口转发
在本地PowerShell执行:
ssh -L 3389:localhost:3389 你的虚拟机用户名@你的虚拟机公网IP
保持该窗口打开。
步骤3:本地用远程桌面连接
打开Windows自带的「远程桌面连接」,输入localhost后点击连接,输入虚拟机的用户名和密码即可进入GUI。
关键注意事项
- 确保Azure虚拟机的网络安全组(NSG)已开放SSH端口(22),两种方案均依赖SSH连接,无需额外开放其他端口。
- 若使用CentOS/RHEL发行版,将命令中的
apt替换为yum或dnf,桌面环境可选择GNOME或XFCE。 - 如需开机自动启动服务:
- VNC:执行
crontab -e,添加一行@reboot tightvncserver :1 -geometry 1920x1080 - XRDP:执行
sudo systemctl enable xrdp
- VNC:执行
内容的提问来源于stack exchange,提问作者Rushabh
相关产品推荐
相关产品推荐

