一、背景
需求:
- 有Mate Desktop GUI用于执行Linux GUI程序
- 兼容CentOS7的Yum包管理
- 具有预装微软DotNET开发环境
- 使用微软RDP客户端进行远程登录
如果不希望自行安装EC2,可使用预先集成了环境的AMI。
二、选择正确的AMI创建EC2
进入创建EC2界面,点击Browse more AMIs
查找更多AMI镜像。如下截图。
在关键词搜索中输入mate
,搜索结果可看到唯一的如下。点击选中Select
按钮继续下一步。如下截图。
选择镜像完毕,页面返回EC2创建向导。如下截图。
继续完成正常的配置。
机型方面,因为一些特殊软件要求兼容CentOS 7.x,且大多是Intel架构(x86_64),因此这里就不选ARM架构了。建议内存不低于4GB,例如测试机型选择t3.medium
(2vCPU/4GB),生产机型选m6i.large
(2vCPU/8GB),或者更高规格。
此外,默认的系统盘只有8GB,在安装大量图形软件包时候会遇到容量不足,因此创建EC2时候改成系统盘不低于20GB。
在EC2的安全组配置步骤,放行TCP协议22和3389端口,请不要将安全组的来源地址完全开放给0.0.0.0/0
,这样存在安全隐患。建议将来源地址开放给堡垒机,或者本VPC内的IP地址。
最后创建EC2完成。
三、配置Mate
1、升级软件包到最新并重启
使用SSH登录到EC2,升级软件并重启。
sudo yum update -y
sudo reboot
2、设置默认用户ec2-user
的登录密码
Amazon Linux 2操作系统使用证书登录SSH的默认用户名就是ec2-user
。登录RDP的用户名也是这个用户名。新的AMI镜像作为EC2启动后,这个用户是没有密码的,只允许PEM证书方式通过SSH登录。因此这里要设置密码。
命令如下:
sudo passwd ec2-user
输入密码两次,设置密码完成。
3、设置Xrdp登录的证书
执行如下命令生成RDP证书:
sudo openssl req -x509 -sha384 -newkey rsa:3072 -nodes -keyout /etc/xrdp/key.pem -out /etc/xrdp/cert.pem -days 365
依次输入签署OpenSSL证书所需要的信息,可根据实际要求自行输入。
生成证书完成。
四、使用微软RDP客户端登录到Mate
本文演示从VPC内登录。如果您需要从互联网登录,建议使用Session Manager进行端口转发,请参考本篇博客。
本文以Amazon Workspaces作为跳板机为例,Workspaces上可直接访问本VPC所有IP地址,且EC2的安全规则组也开放了SSH 22端口和RDP 3389端口给本VPC。
启动微软RDP客户端,输入EC2的内网IP地址。在弹出的是否确认证书位置,点击Yes
确认。还可以选中信赖本证书选项,今后不会再提示。如下截图。
进入到Xrdp的登录界面,要求输入名为ec2-user
用户的密码。这一个密码就是本文上一步设置的密码。
登录成功,Mate桌面可用。打开Chrome浏览器也可以正常浏览网络。
四、关闭/打开GUI桌面的方式(可选)
使用本AMI新创建好的EC2,默认就会启动Xrdp和Mate桌面的GUI环境。
在某些场景下,使用GUI桌面完成,不再需要开启GUI桌面,那么可自行如下命令禁用GUI桌面,且下次开机后也不希望Mate启动,那么可以执行如下命令:
sudo systemctl disable xrdp
sudo systemctl stop xrdp
希望重新打开GUI桌面并让其随OS自动启动,可自行如下命令:
sudo systemctl enable xrdp
sudo systemctl start xrdp
五、参考文档
Configure the Amazon Linux 2 MATE desktop connection
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-mate.html