通过RDP连接Azure中的Ubuntu虚拟机
上一回 gOxiA 说到了“概览 Windows 10 内置的 OpenSSH 功能”,文末曾提到用RDP协议(Windows 远程桌面)来访问位于 Azure 中Ubuntu虚拟机桌面的愿景。日志发布之后,便开始了测试并参考了其他网文。最后的测试结果是安装 xubuntu-desktop 可以成功从 RDP 登录。而 gOxiA 早期实践的 mate-desktop 却失败了!安装完毕后能够 RDP 连接并进入登录界面。但在输入账号密码后总提示目录需要读、写权限。安装指令可以参考下图,之前实践过是没有问题的!
懒得折腾 Linux,便尝试通过 xubuntu 实现,首先通过 SSH 连接 Azure Ubuntu VM,执行安装指令,大概2个多GB,做好思想准备!
“sudo apt-get install xubuntu-desktop"
之后,安装 xrdp 以启用 RDP 支持,其实这是整篇的关键!:-P
"sudo apt-get install xrdp"
设置并启动 xrdp。
”echo xfce4-session > ~/.xsession“
"sudo /etc/init.d/xrdp start"
其他网文推荐修改 /etc/xrdp/startwm.sh,在 ./etc/x11/xsession 前插入一行 xfce4-session,但其实不做也能正常使用,没去深究!gOxiA 是在去设置 Azure 防火墙前重启了一次 VM。下面再来说说 Azure 下 VM 的准备步骤,默认 Ubuntu VM 只会开放 22 端口供 SSH 连接访问使用。既然我们在 Ubuntu 上安装了桌面环境和RDP支持,那么要从远程进行访问就必须开放 RDP 端口,即 3389。对于“经典虚拟机”,需要对其“终结点”进行修改,如下图所示。对基于资源管理器模型的 VM,则需要对“网络安装组(NSGs)”进行修改。理解程度上前者更容易理解,但后者更适合颗粒度管理。
终结点的完整帮助可以参考 Microsoft Docs - “How to set up endpoints”。如果要使用 PowerShell 进行操作,则需要先安装 Azure PowerShell 支持组件,对于经典模式虚拟机则需要参考 “安装 Azure PowerShell 服务管理模块”进行操作。之后利用“Add-AzureEndpoint”添加,参考命令行如下。
“Get-AzureVM -ServiceName "ContosoService" -Name "Ubuntu" | Add-AzureEndpoint -Name "RDP" -Protocol "tcp" -PublicPort 3389 -LocalPort 3389 | Update-AzureVM”
完成配置后,便可使用远程桌面工具像连接 Windows 一样去登录 Ubuntu,如下图所示,界面比较丑陋!但登录进入xubuntu后桌面环境还是显得挺简洁的,不过2GB多的内容也是不少。愿意尝鲜的用户倒是可以尝试!