

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon EMR 集群操作期间的权限错误
<a name="emr-troubleshoot-error-permissions"></a>

使用权限或凭证时常出现以下错误。

**Topics**
+ [您将正确凭证传递给了 SSH 吗？](#correctcred)
+ [如果您在使用 IAM，您是否有正确的 Amazon EC2 策略设置？](#check-iam-permissions)

## 您将正确凭证传递给了 SSH 吗？
<a name="correctcred"></a>

 如果您不能使用 SSH 连接主节点，最有可能是您的安全凭证出了问题。

 首先，检查并确保包含您 SSH 密钥的 .pem 文件有正确的权限。您可以使用 chmod 更改 .pem 文件上的权限，如以下示例所示，其中，要把 mykey.pem 替换为自己的 .pem 文件的名称。

```
1. chmod og-rwx mykey.pem
```

 第二种可能性是，您没使用创建集群时指定的密钥对。如果您创建了多个密钥对，这种情况很容易出现。检查 Amazon EMR 控制台中的集群详细信息（或使用 CLI 中的 `--describe` 选项），并确保创建集群时指定的密钥对的名称无误。

 验证您在使用正确的密钥对且 .pem 文件上的权限正确设置后，您可以使用以下命令通过 SSH 连接主节点，其中，要把 mykey.pem 替换为您个人 .pem 文件的名称，把 `hadoop@ec2-01-001-001-1.compute-1.amazonaws.com` 替换为主节点的公有 DNS 名称（通过 CLI 中的 `--describe` 选项或通过 Amazon EMR 控制台实现）。

**重要**  
在连接到 Amazon EMR 集群节点时，必须使用登录名 `hadoop`，否则可能发生类似 `Server refused our key` 的错误。

```
1. ssh -i mykey.pem hadoop@ec2-01-001-001-1.compute-1.amazonaws.com				
```

 有关更多信息，请参阅[使用 SSH 连接到 Amazon EMR 集群主节点](emr-connect-master-node-ssh.md)。

## 如果您在使用 IAM，您是否有正确的 Amazon EC2 策略设置？
<a name="check-iam-permissions"></a>

 因为 Amazon EMR 使用 EC2 实例作为节点，Amazon EMR 的用户也需要设置某些 Amazon EC2 策略，以便 Amazon EMR 能代表用户管理那些实例。如果您没有设置所需的权限，则 Amazon EMR 返回以下错误：**“账户没有调用 EC2 的权限。”** 

 有关您的 IAM 账户需要设置以运行 Amazon EMR 的 Amazon EC2 策略的更多信息，请参阅[Amazon EMR 如何与 IAM 配合使用](security_iam_service-with-iam.md)。