AWS 创建EC2及使用ssh登录

1 AWS后台创建EC2实例

1 登录AWS EC2控制台并选择EC2服务进入EC2控制界面点击启动实例(确定拥有足够权限)
image.png

2 选择你需要为EC2预装的操作系统版本,这里我选择ubuntu
image.png
3 选择想要使用的机型,这里选t2.micro 1核1G 作为测试环境(Global 全球区免费套餐机型),比较便宜。
image.png
4 配置网络环境公网ip及子网,直接默认 下一步即可,会自动分配公网ip。
5配置存储,存储默认只有8G后面要加自己配置更多存储,因为免费套餐内有30G(Global),但注意你免费套餐是否过期。下一步 配置标签 也直接默认跳过。
6 配置安全组控制端口开放的情况,默认开放22端口,其他需要可后续配置 。
image.png
安全组就相当于防火墙,默认只有22端口开启,如果要使用其他端口提供服务如80 443 等需要自行配置安全组并配置相应协议及端口。 中国区AWS 80 443 端口需要向AWS备案才能开放,即配置了安全组也无法使用。

7 review配置并启动EC2

8 最后创建新的证书,生成并下载用于登录EC2的证书(如果在该区域已经创建过可以选择现有证书) 重要
image.png
妥善保存证书,该证书只能下载一次。

2 连接到EC2并创建Linux账户

2.1 使用根账户登录到EC2

Linux环境 SSH登录EC2

sudo ssh ubuntu@54.xxx.xxx.24 -i test.pem

ubuntu 系统默认管理员账户为ubuntu -i 为使用密匙登录
windows 环境 xshell 工具登录EC2


这里就已经成功登录得到AWS EC2了

2.2 创建Linux账户并配置证书

但上述使用过程并不安全,我们应该为每个用户创建Linux账户 进行权限管理。

2.2.1 创建密匙并生成公匙

这现在AWSEC2控制台为待创建的Linux用户创建登录用的密匙
1 创建并下载私有密匙
image.png

输入密匙对名后会自动下载对应密匙。

2 生成公匙
在linux shell或windows cmd中执行下面命令:

ssh-keygen -y 私匙路径(刚才下载得到)

如:

sudo ssh-keygen -y -f usera.pem

然后命令就会输出公匙请妥善保存,如下:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE

2.2.2 创建linux账户并配置密匙

这里我们使用默认ubuntu登录到EC2上

sudo ssh ubuntu@54.xxx.xxx.24 -i test.pem

1 创建一个新账户

sudo adduser newuser  #newuser即为待创建的用户名 如下:sudo adduser usera

输入账户的密码及信息

2 给予该账户sudo权限

sudo vi /etc/sudoers 

找到这一行:“root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL”(这里的xxx是你的用户名),然后保存退出。
usera ALL=(ALL:ALL) ALL

3 配置密匙
切换到新创建的账户

sudo su usera
cd ~

切换到新账户及用户目录下,以便使新建的文件具有正确的所有权。
在 newuser 主目录中创建一个 .ssh 目录,并将其权限更改为 700 (只有文件所有者能够读取、写入或打开该目录。

mkdir .ssh
chmod 700 .ssh

在 .ssh 目录中创建名为
authorized_keys 的文件并将其权限更改为 600 (只有文件所有者能够读取或写入此文件)。

touch .ssh/authorized_keys
chmod 600 .ssh/authorized_key

使用您常用的文本编辑器 (如 vim 或 nano) 打开 authorized_keys 文件。

vim .ssh/authorized_keys

将您的密钥对的公有密钥(2.1中第二步生成的密匙) 粘贴到该文件并保存更改。例如:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE

用户现在应该能够使用对应添加到
authorized_keys 文件的公钥的私有密钥(2.1中下载的密匙 )登录实例上的 newuser 账户。**确保密匙对公匙复制正确,Linux复制很容易缺头或缺尾 **

2.2.3 登录

sudo ssh -i  usera.pem  usera@54.xxx.xxx.24 

完成登录

2.2.4 Ubuntu 22.04 ssh登录失败

在 ssh高版本中 ssh-rsa 类型,属于不支持的公钥类型,会导致登录失败。所以可以生成证书时就生成ED25519 格式证书或
修改配置文件支持 ssh-rsa
sudo vi /etc/ssh/sshd_config
/etc/ssh/sshd_config文件末尾增加一行PubkeyAcceptedAlgorithms +ssh-rsa
修改完/etc/ssh/sshd_config配置文件后重启sshd服务,执行 sudo systemctl restart sshd

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值