

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

# 选项 1：使用本地端口转发设置到 Amazon EMR 主节点的 SSH 隧道
<a name="emr-ssh-tunnel-local"></a>

要连接到主节点上的本地 Web 服务器，您需要在计算机和主节点之间创建 SSH 隧道。这也称为*端口转发（port forwarding）*。如果您不想使用 SOCKS 代理，可以使用本地端口转发设置通往主节点的 SSH 隧道。通过本地端口转发，您可以指定未使用的本地端口，这些端口用于将流量转发到主节点本地 Web 服务器上的特定远程端口。

使用本地端口转发设置 SSH 隧道，需要主节点的公有 DNS 名称和密钥对私有密钥文件。有关如何查找主节点公有 DNS 名称的信息，请参阅[检索主节点的公有 DNS 名称](emr-connect-master-node-ssh.md#emr-connect-master-dns)。有关访问密钥对的更多信息，请参阅《Amazon EC2 用户指南》**中的 [Amazon EC2 密钥对](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。有关您可能希望在主节点上查看的站点的更多信息，请参阅 [查看 Amazon EMR 集群上托管的 Web 界面](emr-web-interfaces.md)。

## 使用 OpenSSH 的本地端口转发，设置通往主节点的 SSH 隧道
<a name="ssh-tunnel-local-linux"></a><a name="tunnel-local-linux"></a>

**在终端中使用本地端口转发设置 SSH 隧道**

1. 确保您已允许入站 SSH 流量。有关说明，请参阅[连接到 Amazon EMR 之前：授权入站流量](emr-connect-ssh-prereqs.md)。

1. 打开终端窗口。在 Mac OS X 上，选择 **Applications (应用程序) > Utilities (实用程序) > Terminal (终端)**。在其它 Linux 发布版上，终端通常位于 **Applications (应用程序) > Accessories (附件) > Terminal (终端)**。

1. 键入以下命令在本地计算机上打开 SSH 隧道。 此示例命令通过将本地端口 8157（随机选择的未使用的本地端口）上的流量转发到主节点本地 ResourceManager Web 服务器上的端口 8088 来访问 Web 界面。 

   在命令中，*\$1/mykeypair.pem*替换为文件的`.pem`位置和文件名，*ec2-\$1\$1\$1-\$1\$1-\$1\$1-\$1\$1\$1.compute-1.amazonaws.com*替换为集群的主公有 DNS 名称。 要访问其他 Web 界面，请`8088`替换为相应的端口号。 例如，对于齐柏林飞艇`8088`接`8890`口，请替换为。

   ```
   ssh -i ~/mykeypair.pem -N -L 8157:ec2-###-##-##-###.compute-1.amazonaws.com:8088 hadoop@ec2-###-##-##-###.compute-1.amazonaws.com
   ```

   `-L` 代表使用本地端口转发，由此，您就能指定一个本地端口，用于将数据转发到主节点本地 Web 服务器上标识的远程端口。

   在您发出此命令后，终端保持打开状态并且不返回响应。 

1. 要在浏览器中打开 ResourceManager Web 界面，请在地址栏`http://localhost:8157/`中键入。

1. 如果您已完成使用主节点上的 Web 界面，请关闭终端窗口。