AWS EC2上创建一个Ubuntu Instance 并使用WSL连接

在AWS EC2上部署Ubuntu

  1. 登录AWS,进入EC2 Dashboard,点击Launch instance来新建一个实例。 Ubuntu-lauch-instance

  2. 选择AMI,这里我选择了Ubuntu 20.04 choose-ami

  3. 选择想要的Instance Type,可以根据自己的实际需求进行选择,如果是进行学习的话,AWS对于第一次注册的用户在12个月内提供免费的套餐,如果我没有记错的话应该是t2.micro。选择好之后,默认情况下我们直接点击Review and Launch。

  4. 之后页面上会显示创建的实例的一些信息,如果有需要改变的地方,可以这里进行改变。在这里,由于我的目的是为这一个实例上部署一个PostgreSQL数据库,然后从远程访问这个数据库,所以我需要对Security Groups进行一些设置和修改,详情可以看这一篇博文AWS EC2上部署PostgreSQL + TimeScaleDB)review-instance-launch

  5. 设置完成之后点击Launch,跳出如下页面,我们需要选择或者创建一个密钥对

    key-pair输入密钥对的名字之后,我们将这个密钥对下载到我们的电脑里面,这个密钥对一定要保存好,因为我们需要这个密钥对远程通过SSH连接这个服务器。然后点击Launch Instances就成功在EC2上部署了一个Ubuntu的实例。

使用WSL进行服务器远程访问

首先要确保Windows上安装了WSL和Linux子系统。想要连接到EC2,首先要将下载到Windows中的密钥对文件复制到WSL中的路径中,有两种方式:

  1. 使用命令行命令

    1
    cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem

    注:Windows本地的文件夹可以在WSL下的mnt文件夹中进行访问

  2. 可以在Windows中的文件管理器中直接在地址栏中输入\\wsl$可以在网络中打开WSL的文件管理,然后直接将密钥对复制到对应的路径下就可以了。

这个时候,还需要将密钥对的权限更改一下,否则的话由于我们没有对密钥对进行权限设置,直接连接的话就会报错。wsl-warning

通过命令chmod 400 filename.pem更改文件权限,这个问题就能够解决了。接下来,我们就可以通过命令行命令连接到EC2上。

1
ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name

以下为参数的解释

  1. /path/my-key-pair.pem 当然就是密钥对所在的路径了

  2. my-instance-user-name 就是所创建的EC2实例的用户名,下面是默认的用户名

    对于 Amazon Linux 2 或 Amazon Linux AMI,用户名称是 ec2-user。

    对于 CentOS AMI,用户名称是 centos。

    对于 Debian AMI,用户名称是 admin。

    对于 Fedora AMI,用户名为 ec2-user 或 fedora。

    对于 RHEL AMI,用户名称是 ec2-user 或 root。

    对于 SUSE AMI,用户名称是 ec2-user 或 root。

    对于 Ubuntu AMI,用户名称是 ubuntu。

  3. my-instance-public-dns-name 是创建的EC2实例的public IPv4 DNS,在AWS EC2 Dashboard中打开实例就可以找到,如果没有找到,那么在右上角的设置中打开显示即可。