Amazon Linux 2 预装Mate和DotNET开发环境的使用

一、背景

需求:

  • 有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