连接到 AWS 上的服务器(通常是 EC2 实例)需要使用 SSH 并提供正确的私钥文件。以下是详细的步骤:
1. 下载并准备 .pem
文件
AWS 提供的私钥文件通常是 .pem
文件。确保你已下载该 .pem
文件,并将它存放在本地计算机上。
- 注意:如果你没有
.pem
文件,AWS 不会再提供该文件,你将无法通过 SSH 连接到实例。你只能选择其他方法重新生成密钥对并将其添加到实例。
2. 确保私钥文件权限正确
对于 .pem
文件,SSH 要求文件权限严格,必须设置为 600,以保证私钥的安全性。你可以使用以下命令来更改权限:
chmod 600 /path/to/your-key.pem
这里的 /path/to/your-key.pem
是 .pem
文件的路径。
3. 获取 EC2 实例的公共 IP 地址或 DNS 名称
登录到 AWS 管理控制台,找到你的 EC2 实例,并获取其公共 IP 地址或公共 DNS 名称。你将在连接时使用该 IP 或 DNS 名称。
4. 通过 SSH 连接到实例
假设你已经准备好 .pem
文件并获得了实例的公共 IP 地址(例如 18.166.211.146
),使用以下命令连接到 EC2 实例:
ssh -i /path/to/your-key.pem ec2-user@18.166.211.146
在这个命令中:
-i /path/to/your-key.pem
:指定私钥文件(.pem
)。ec2-user@18.166.211.146
:ec2-user
:是默认的用户名。根据不同的 AMI(操作系统镜像),用户名可能会不同。例如:- Amazon Linux:
ec2-user
- Ubuntu:
ubuntu
- RedHat:
ec2-user
- CentOS:
centos
- Debian:
admin
或debian
- Amazon Linux:
18.166.211.146
是你实例的公共 IP 地址。
如果连接成功,你将进入 EC2 实例的终端。
5. 检查并调试连接问题
如果你无法连接,可能存在以下问题:
- 安全组配置:确保 EC2 实例的安全组允许 SSH(端口 22) 访问。
- 在 AWS 管理控制台中,进入 EC2 -> 安全组,检查是否允许从你本地 IP 访问端口 22。
- 私钥权限:确保
.pem
文件的权限设置为 600。如果不正确,SSH 连接会被拒绝。 - 实例状态:确保实例已启动并运行,可以通过 AWS 控制台检查实例状态。
- 防火墙:如果你所在的网络有防火墙,确保没有阻止出站的 SSH 流量。
6. 使用公共 DNS 名称(如果有)
如果实例有公共 DNS 名称,也可以使用 DNS 名称连接,格式如下:
ssh -i /path/to/your-key.pem ec2-user@ec2-18-166-211-146.ap-east-1.compute.amazonaws.com
总结:
- 获取并准备好
.pem
私钥文件。 - 确保
.pem
文件权限为 600。 - 使用正确的用户名和实例 IP 或 DNS 连接实例。
- 检查安全组、网络、防火墙等配置,确保 SSH 流量可访问。
通过这些步骤,你应该能够成功地通过 SSH 连接到 AWS EC2 实例。