AWS EC2上创建一个Ubuntu Instance 并使用WSL连接
在AWS EC2上部署Ubuntu
登录AWS,进入EC2 Dashboard,点击Launch instance来新建一个实例。
选择AMI,这里我选择了Ubuntu 20.04
选择想要的Instance Type,可以根据自己的实际需求进行选择,如果是进行学习的话,AWS对于第一次注册的用户在12个月内提供免费的套餐,如果我没有记错的话应该是t2.micro。选择好之后,默认情况下我们直接点击Review and Launch。
之后页面上会显示创建的实例的一些信息,如果有需要改变的地方,可以这里进行改变。在这里,由于我的目的是为这一个实例上部署一个PostgreSQL数据库,然后从远程访问这个数据库,所以我需要对Security Groups进行一些设置和修改,详情可以看这一篇博文AWS EC2上部署PostgreSQL + TimeScaleDB)。
设置完成之后点击Launch,跳出如下页面,我们需要选择或者创建一个密钥对
输入密钥对的名字之后,我们将这个密钥对下载到我们的电脑里面,这个密钥对一定要保存好,因为我们需要这个密钥对远程通过SSH连接这个服务器。然后点击Launch Instances就成功在EC2上部署了一个Ubuntu的实例。
使用WSL进行服务器远程访问
首先要确保Windows上安装了WSL和Linux子系统。想要连接到EC2,首先要将下载到Windows中的密钥对文件复制到WSL中的路径中,有两种方式:
使用命令行命令
1
cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem
注:Windows本地的文件夹可以在WSL下的mnt文件夹中进行访问
可以在Windows中的文件管理器中直接在地址栏中输入
\\wsl$
可以在网络中打开WSL的文件管理,然后直接将密钥对复制到对应的路径下就可以了。
这个时候,还需要将密钥对的权限更改一下,否则的话由于我们没有对密钥对进行权限设置,直接连接的话就会报错。
通过命令chmod 400 filename.pem
更改文件权限,这个问题就能够解决了。接下来,我们就可以通过命令行命令连接到EC2上。
1 | ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name |
以下为参数的解释
/path/my-key-pair.pem 当然就是密钥对所在的路径了
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。
my-instance-public-dns-name 是创建的EC2实例的public IPv4 DNS,在AWS EC2 Dashboard中打开实例就可以找到,如果没有找到,那么在右上角的设置中打开显示即可。