📌  相关文章
📜  ec2 Permission denied (publickey,gssapi-keyex,gssapi-with-mic) (1)

📅  最后修改于: 2023-12-03 15:14:50.399000             🧑  作者: Mango

主题:ec2 Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

当连接到 AWS EC2 实例时,可能会遇到 "Permission denied (publickey,gssapi-keyex,gssapi-with-mic)" 错误,这通常表示 SSH 鉴定不成功。该错误可能有多种原因,并且下面列出了可能的解决方案。

原因
密钥文件无效

通常,EC2 实例需要使用密钥对进行身份验证。在连接到实例之前,需要将私钥文件保存到您的计算机上,然后使用 SSH 客户端将该文件提供给实例以身份验证。如果密钥文件无效,则会出现 "Permission denied" 错误。

没有正确的权限

SSH 客户端需要读取并使用密钥文件进行身份验证。如果您的密钥文件的权限设置不正确,则您可能无法连接到 EC2 实例。通常,应将权限设置为0400,以下是一条命令进行权限更改。

chmod 0400 /path/to/key.pem
防火墙或安全组配置不正确

如果您使用的是有防火墙或安全组的 VPC,则需要允许对实例的 SSH 访问。您可以在安全组或网络访问控制列表(NACLs)中仅开放 TCP 端口22,或者完全打开端口22以接受所有来源的 SSH 流量。您可以通过 AWS 管理控制台或 AWS CLI 更改这些设置。

SSH 服务器不运行

如果您的 EC2 实例上的 SSH 服务器未运行,则不能连接实例。使用 AWS 管理控制台、AWS CLI 或 EC2 实例元数据服务检查 SSH 服务器是运行状态。

解决方案
确认密钥文件

如果 "Permission denied" 错误显示私钥文件不可用或无效,请检查密钥文件的路径以及其是否为空或已损坏。

更改密钥文件权限

如果权限设置不正确,则需要更改密钥文件的权限。通过以下命令更改权限:

chmod 0400 /path/to/key.pem
校验防火墙或安全组配置

如果您使用的 VPC 有安全组或 NACL,需要确认 TCP 端口22是否被正确配置。您可以通过 AWS 管理控制台或 AWS CLI 更改这些设置。

确认 SSH 服务器运行状态

如果 SSH 服务器未运行,则不能连接 EC2 实例。您可以使用 AWS 管理控制台、AWS CLI 或 EC2 实例元数据服务检查 SSH 服务器的运行状态。

结论

当连接 EC2 实例时,会遇到 "Permission denied" 错误的情况是很常见的。通过检查密钥文件、更改文件权限、确认防火墙或安全组配置以及检查 SSH 服务器的运行状态等方法,可以解决此错误。

# 主题:ec2 Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

当连接到 AWS EC2 实例时,可能会遇到 "Permission denied (publickey,gssapi-keyex,gssapi-with-mic)" 错误,这通常表示 SSH 鉴定不成功。该错误可能有多种原因,并且下面列出了可能的解决方案。

## 原因

### 密钥文件无效

通常,EC2 实例需要使用密钥对进行身份验证。在连接到实例之前,需要将私钥文件保存到您的计算机上,然后使用 SSH 客户端将该文件提供给实例以身份验证。如果密钥文件无效,则会出现 "Permission denied" 错误。

### 没有正确的权限

SSH 客户端需要读取并使用密钥文件进行身份验证。如果您的密钥文件的权限设置不正确,则您可能无法连接到 EC2 实例。通常,应将权限设置为0400,以下是一条命令进行权限更改。

``` chmod 0400 /path/to/key.pem ```

### 防火墙或安全组配置不正确

如果您使用的是有防火墙或安全组的 VPC,则需要允许对实例的 SSH 访问。您可以在安全组或网络访问控制列表(NACLs)中仅开放 TCP 端口22,或者完全打开端口22以接受所有来源的 SSH 流量。您可以通过 AWS 管理控制台或 AWS CLI 更改这些设置。

### SSH 服务器不运行

如果您的 EC2 实例上的 SSH 服务器未运行,则不能连接实例。使用 AWS 管理控制台、AWS CLI 或 EC2 实例元数据服务检查 SSH 服务器是运行状态。

## 解决方案

### 确认密钥文件

如果 "Permission denied" 错误显示私钥文件不可用或无效,请检查密钥文件的路径以及其是否为空或已损坏。

### 更改密钥文件权限

如果权限设置不正确,则需要更改密钥文件的权限。通过以下命令更改权限:

``` chmod 0400 /path/to/key.pem ```

### 校验防火墙或安全组配置

如果您使用的 VPC 有安全组或 NACL,需要确认 TCP 端口22是否被正确配置。您可以通过 AWS 管理控制台或 AWS CLI 更改这些设置。

### 确认 SSH 服务器运行状态

如果 SSH 服务器未运行,则不能连接 EC2 实例。您可以使用 AWS 管理控制台、AWS CLI 或 EC2 实例元数据服务检查 SSH 服务器的运行状态。

## 结论

当连接 EC2 实例时,会遇到 "Permission denied" 错误的情况是很常见的。通过检查密钥文件、更改文件权限、确认防火墙或安全组配置以及检查 SSH 服务器的运行状态等方法,可以解决此错误。