

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 터널을 열고 원격 디바이스에 대한 SSH 세션 시작
<a name="secure-tunneling-tutorial-open-tunnel"></a>

이 자습서에서는 방화벽 뒤에 있는 디바이스에 원격으로 액세스하는 방법을 알아봅니다. 방화벽이 모든 인바운드 트래픽을 차단하기 때문에 디바이스에 대한 직접 SSH 세션을 시작할 수 없습니다. 이 자습서에서는 터널을 연 다음 해당 터널을 사용하여 원격 디바이스에 대한 SSH 세션을 시작하는 방법을 보여줍니다.

## 자습서의 사전 조건
<a name="tunneling-tutorial-prerequisites"></a>

자습서를 실행하기 위한 사전 조건은 터널을 열고 원격 디바이스에 액세스하는 데 수동 설정 방법을 사용하는지 아니면 빠른 설정 방법을 사용하는지에 따라 달라질 수 있습니다.

**참고**  
두 설정 방법을 사용할 때 모두 포트 443에서 아웃바운드 트래픽을 허용해야 합니다.
+ 빠른 설정 방법 자습서의 사전 조건에 대한 자세한 내용은 [빠른 설정 방법의 사전 조건](tunneling-tutorial-quick-setup.md#tunneling-tutorial-quick-prerequisites) 섹션을 참조하세요.
+ 수동 설정 방법 자습서의 사전 조건에 대한 자세한 내용은 [수동 설정 방법의 사전 조건](tunneling-tutorial-manual-setup.md#tunneling-tutorial-manual-prerequisites) 섹션을 참조하세요. 이 설정 방법을 사용하는 경우 소스 디바이스에서 로컬 프록시를 구성해야 합니다. 로컬 프록시 소스 코드를 다운로드하려면 [GitHub의 로컬 프록시 참조 구현](https://github.com/aws-samples/aws-iot-securetunneling-localproxy)을 참조하세요.

## 터널 설정 방법
<a name="tunneling-tutorial-setup-methods"></a>

이 자습서에서는 터널을 열고 원격 디바이스에 연결하는 수동 및 빠른 설정 방법을 알아봅니다. 다음 표에 설정 방법 간의 차이점이 나와 있습니다. 터널을 생성한 후 브라우저 내 명령줄 인터페이스를 사용하여 원격 디바이스에 SSH로 연결할 수 있습니다. 토큰을 분실하거나 터널의 연결이 끊어지는 경우 새 액세스 토큰을 전송하여 터널에 다시 연결할 수 있습니다.


**빠른 설정 및 수동 설정 방법**  

| 기준 | 빠른 설정 | 수동 설정 | 
| --- | --- | --- | 
| 터널 생성 | 편집 가능한 기본 구성으로 새 터널을 생성합니다. 원격 디바이스에 액세스하는 데 SSH만 대상 서비스로 사용할 수 있습니다. | 터널 구성을 수동으로 지정하여 터널을 생성합니다. 이 방법을 이용하면 SSH 이외의 서비스를 사용하여 원격 디바이스에 연결할 수 있습니다. | 
| 액세스 토큰 | 터널을 생성할 때 사물 이름을 지정한 경우 [예약된 MQTT 주제](https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html#reserved-topics-secure)에 대해 대상 액세스 토큰이 디바이스에 자동으로 전달됩니다. 소스 디바이스에서 토큰을 다운로드하거나 관리할 필요가 없습니다. | 소스 디바이스에서 토큰을 수동으로 다운로드하고 관리해야 합니다. 터널을 생성할 때 사물 이름을 지정한 경우 [예약된 MQTT 주제](https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html#reserved-topics-secure)에 대해 대상 액세스 토큰이 원격 디바이스에 자동으로 전달됩니다. | 
| 로컬 프록시 | 디바이스와 상호 작용할 수 있도록 웹 기반 로컬 프록시가 자동으로 구성됩니다. 로컬 프록시를 수동으로 구성할 필요가 없습니다. | 로컬 프록시를 수동으로 구성하고 시작해야 합니다. 로컬 프록시를 구성하려면 AWS IoT Device Client를 사용하거나 [ GitHub에서 로컬 프록시 참조 구현을 다운로드할 수 있습니다](https://github.com/aws-samples/aws-iot-securetunneling-localproxy). | 

## AWS IoT 콘솔의 터널 생성 방법
<a name="tunneling-tutorial-flows"></a>

이 섹션의 자습서에서는 AWS Management Console 및 [OpenTunnel](https://docs.aws.amazon.com/iot/latest/apireference/) API를 사용하여 터널을 생성하는 방법을 보여줍니다. 터널을 생성할 때 대상을 구성하는 경우 AWS IoT 보안 터널링은 MQTT 및 예약된 MQTT 주제인 )를 통해 대상 클라이언트 액세스 토큰을 원격 디바이스에 전달합니다`$aws/things/RemoteDeviceA/tunnels/notify`. MQTT 메시지를 받으면 원격 디바이스의 IoT 에이전트가 로컬 프록시를 대상 모드로 시작합니다. 자세한 내용은 [예약된 주제](reserved-topics.md) 단원을 참조하십시오.

**참고**  
다른 방법을 통해 대상 클라이언트 액세스 토큰을 원격 디바이스에 전달하려는 경우 대상 구성을 생략할 수 있습니다. 자세한 내용은 [원격 디바이스 구성 및 IoT 에이전트 사용](configure-remote-device.md) 단원을 참조하십시오.

 AWS IoT 콘솔에서 다음 방법 중 하나를 사용하여 터널을 생성할 수 있습니다. 이러한 방법을 사용하여 터널을 생성하는 데 도움이 되는 자습서에 대한 자세한 내용은 [이 섹션의 자습서](secure-tunneling-tutorial.md#tunneling-tutorial-overview) 섹션을 참조하세요.
+ 

**[터널 허브](https://console.aws.amazon.com/iot/home#/tunnels)**  
터널을 생성할 때는 빠른 설정 방법을 사용할지 아니면 수동 설정 방법을 사용할지를 지정하고 선택적 터널 구성 세부 정보를 제공할 수 있습니다. 구성 세부 정보에는 대상 디바이스의 이름과 디바이스에 연결하는 데 사용할 서비스도 포함됩니다. 터널을 생성한 후 브라우저 내에서 SSH를 사용하거나 AWS IoT 콘솔 외부에서 터미널을 열어 원격 디바이스에 액세스할 수 있습니다.
+ 

**Thing details(사물 세부 정보) 페이지**  
터널을 생성할 때는 설정 방법을 선택하고 선택적 터널 구성 세부 정보를 제공하는 것 외에도 최근의 열린 터널을 사용할지 아니면 디바이스에 대한 새 터널을 만들지를 지정할 수 있습니다. 기존 터널의 구성 세부 정보는 편집할 수 없습니다. 빠른 설정 방법을 사용하여 액세스 토큰을 교체하고 브라우저 내에서 원격 디바이스에 SSH로 연결할 수 있습니다. 이 방법을 사용하여 터널을 열려면 AWS IoT 레지스트리에 IoT 사물(예: `RemoteDeviceA`)을 생성해야 합니다. 자세한 내용은 [AWS IoT 레지스트리에 디바이스 등록을 참조하세요](https://docs.aws.amazon.com/iot/latest/developerguide/register-device.html).

**Topics**
+ [자습서의 사전 조건](#tunneling-tutorial-prerequisites)
+ [터널 설정 방법](#tunneling-tutorial-setup-methods)
+ [AWS IoT 콘솔의 터널 생성 방법](#tunneling-tutorial-flows)
+ [터널을 열고 브라우저 기반 SSH를 사용하여 원격 디바이스에 액세스](tunneling-tutorial-quick-setup.md)
+ [수동 설정을 사용하여 터널을 열고 원격 디바이스에 연결](tunneling-tutorial-manual-setup.md)