Windows Subsystem for Linux(WSL)를 사용하여 Windows에서 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud

Windows Subsystem for Linux(WSL)를 사용하여 Windows에서 Linux 인스턴스에 연결

인스턴스를 시작한 후 인스턴스에 연결하고 바로 앞에 있는 컴퓨터를 사용하는 것처럼 인스턴스를 사용할 수 있습니다.

다음 지침에서는 Windows Subsystem for Linux(WSL)에서 Linux 배포를 사용하여 인스턴스에 연결하는 방법을 설명합니다. WSL은 무료로 다운로드할 수 있으며 가상 머신이라는 오버헤드 없이 기본 Linux 명령줄 도구를 Windows는 물론 기존 Windows 데스크탑에서 바로 실행할 수 있습니다.

WSL을 설치하면 PuTTY 또는 PuTTYgen 대신 기본 Linux 환경을 사용해서 Linux EC2 인스턴스에 연결할 수 있습니다. Linux 환경에서는 Linux 인스턴스에 연결하고 .pem 키 파일의 권한을 변경할 수 있는 기본 SSH 클라이언트가 있으므로 Linux 인스턴스에 쉽게 연결할 수 있습니다. Amazon EC2 콘솔이 제공하는 SSH 명령으로 Linux 인스턴스에 연결할 수 있으며, SSH 명령에서 얻은 VERBOSE 출력을 얻어 문제를 해결할 수 있습니다. 자세한 내용은 Windows Subsystem for Linux 설명서를 참조하세요.

참고

WSL을 설치한 후 모든 사전 조건과 단계는 SSH를 사용하여 Linux 또는 macOS에서 Linux 인스턴스에 연결의 설명과 동일하며, 이용 경험은 기본 Linux를 사용하는 것과 동일합니다.

인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 인스턴스 연결 문제 해결 섹션을 참조하세요.

필수 조건

Linux 인스턴스에 연결하려면 먼저 다음 사전 조건을 완료하세요.

인스턴스가 준비되었는지 확인

인스턴스를 시작한 후, 연결할 수 있도록 인스턴스가 준비될 때까지 몇 분 정도 걸릴 수 있습니다. 인스턴스가 상태 확인을 통과했는지 확인합니다. 인스턴스 페이지의 상태 확인 열에서 이 정보를 볼 수 있습니다.

인스턴스에 연결하기 위한 일반 사전 조건 확인

인스턴스의 퍼블릭 DNS 이름 또는 IP 주소와 인스턴스에 연결하는 데 사용해야 하는 사용자 이름을 찾으려면 인스턴스에 대한 정보 가져오기 섹션을 참조하세요.

로컬 컴퓨터에 Windows Subsystem for Linux(WSL) 및 Linux 배포 설치

Windows 10 설치 가이드의 지침을 이용하여 WSL과 Linux 배포를 설치하십시오. 지침 속 사례는 Linux의 Ubuntu 배포를 설치하는 것이지만, 다른 배포의 설치에도 활용할 수 있습니다. 변경 사항을 적용하려면 컴퓨터를 다시 시작하라는 안내가 표시됩니다.

Windows에서 WSL로 프라이빗 키 복사

WSL 터미널 창에서 .pem 파일(인스턴스 시작 시 지정한 키 페어의 경우)을 Windows에서 WSL로 복사합니다. 인스턴스에 연결할 때는 WSL에서 .pem 파일의 정규화된 경로를 확인하세요. Windows 하드 드라이브로 가는 경로의 지정 방식은 C 드라이브 액세스 방법을 참고하십시오. 키 페어 및 Windows 인스턴스에 대한 자세한 내용은 Amazon EC2 키 페어 및 Windows 인스턴스를 참조하세요.

cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem

WSL을 사용하여 Linux 인스턴스에 연결

Windows Subsystem for Linux(WSL)를 사용하여 Linux 인스턴스에 연결하려면 다음 절차를 사용하세요. 인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 인스턴스 연결 문제 해결 섹션을 참조하세요.

SSH를 사용하여 인스턴스에 연결하려면
  1. 터미널 창에서 ssh 명령을 사용하여 인스턴스에 연결합니다. 프라이빗 키(.pem)의 경로와 파일 이름, 인스턴스의 사용자 이름 및 인스턴스의 퍼블릭 DNS 이름 또는 IPv6 주소를 지정합니다. 프라이빗 키, 인스턴스의 사용자 이름, 인스턴스의 DNS 이름 또는 IPv6 주소를 확인하는 방법에 대한 자세한 내용은 프라이빗 키 찾기 및 권한 설정인스턴스에 대한 정보 가져오기 섹션을 참조하세요. 인스턴스에 연결하려면 다음 명령 중 하나를 사용합니다.

    • (퍼블릭 DNS) 인스턴스의 퍼블릭 DNS 이름을 사용하여 연결하려면 다음 명령을 입력합니다.

      ssh -i /path/key-pair-name.pem instance-user-name@my-instance-public-dns-name
    • (IPv6) 인스턴스에 IPv6 주소가 있는 경우 해당 IPv6 주소를 사용하여 인스턴스에 연결할 수 있습니다. 프라이빗 키(.pem) 파일 경로 및 적절한 사용자 이름과 IPv6 주소를 사용하여 ssh 명령을 지정합니다.

      ssh -i /path/key-pair-name.pem instance-user-name@my-instance-IPv6-address

    다음과 같은 응답이 표시됩니다:

    The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
    can't be established.
    RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
    Are you sure you want to continue connecting (yes/no)?
  2. (선택 사항) 보안 알림의 지문이 앞의 (선택 사항) 인스턴스 지문 가져오기에서 얻은 지문과 일치하는지 확인합니다. 이들 지문이 일치하지 않으면 누군가가 "메시지 가로채기(man-in-the-middle)" 공격을 시도하고 있는 것일 수 있습니다. 이들 지문이 일치하면 다음 단계를 계속 진행합니다.

  3. yes를 입력합니다.

    다음과 같은 응답이 표시됩니다:

    Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
    to the list of known hosts.

SCP를 사용하여 Linux에서 Linux 인스턴스로 파일 전송

로컬 컴퓨터와 Linux 인스턴스 간에 파일을 전송하는 한 가지 방법은 SCP(Secure Copy Protocol)를 사용하는 것입니다. 이 섹션에서는 SCP를 사용하여 파일을 전송하는 방법을 설명합니다. 이 절차는 SSH를 사용하여 인스턴스에 연결하는 절차와 비슷합니다.

필수 조건

다음 절차에서는 SCP를 사용하여 파일을 전송하는 과정을 단계별로 안내합니다. 이미 SSH를 사용하여 인스턴스에 연결했으며 지문을 확인한 경우 SCP 명령(4단계)을 포함하는 단계부터 시작할 수 있습니다.

SCP를 사용하여 파일을 전송하려면
  1. 인스턴스의 퍼블릭 DNS 이름을 사용하여 인스턴스로 파일을 전송합니다. 예를 들어, 프라이빗 키 파일의 이름이 key-pair-name이고, 전송할 파일이 SampleFile.txt이고, 사용자 이름이 instance-user-name이고, 인스턴스의 퍼블릭 DNS 이름이 my-instance-public-dns-name 또는 IPv6 주소가 my-instance-IPv6-address인 경우, 다음 명령을 사용하여 파일을 instance-user-name 홈 디렉터리로 복사합니다.

    • (퍼블릭 DNS) 인스턴스의 퍼블릭 DNS 이름을 사용하여 파일을 전송하려면 다음 명령을 입력합니다.

      scp -i /path/key-pair-name.pem /path/SampleFile.txt instance-user-name@my-instance-public-dns-name:~
    • (IPv6) 인스턴스에 IPv6 주소가 있는 경우 인스턴스의 IPv6 주소를 사용하여 파일을 전송할 수 있습니다. IPv6 주소는 이스케이프된([ ]) 대괄호(\)로 묶어야 합니다.

      scp -i /path/key-pair-name.pem /path/SampleFile.txt instance-user-name@\[my-instance-IPv6-address\]:~

    다음과 같은 응답이 표시됩니다:

    The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
    can't be established.
    RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
    Are you sure you want to continue connecting (yes/no)?
  2. (선택 사항) 보안 알림의 지문이 앞의 (선택 사항) 인스턴스 지문 가져오기에서 얻은 지문과 일치하는지 확인합니다. 이들 지문이 일치하지 않으면 누군가가 "메시지 가로채기(man-in-the-middle)" 공격을 시도하고 있는 것일 수 있습니다. 이들 지문이 일치하면 다음 단계를 계속 진행합니다.

  3. yes를 입력합니다.

    다음과 같은 응답이 표시됩니다:

    Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
    to the list of known hosts.
    Sending file modes: C0644 20 SampleFile.txt
    Sink: C0644 20 SampleFile.txt
    SampleFile.txt                                100%   20     0.0KB/s   00:00

    "bash: scp: command not found" 오류가 표시되는 경우 먼저 Linux 인스턴스에 scp를 설치해야 합니다. 일부 운영 체제의 경우, 이 명령어는 openssh-clients 패키지에 있습니다. Amazon ECS 최적화 AMI 같은 Amazon Linux 변형의 경우에는 다음 명령을 사용하여 scp를 설치하요.

    [ec2-user ~]$ sudo yum install -y openssh-clients
  4. 반대 방향으로(Amazon EC2 인스턴스에서 로컬 컴퓨터로) 파일을 전송하려면 호스트 파라미터의 순서를 역순으로 지정하면 됩니다. 예를 들어, EC2 인스턴스의 SampleFile.txt 파일을 로컬 컴퓨터의 홈 디렉터리에 SampleFile2.txt로 다시 전송하려면 로컬 컴퓨터에서 다음 명령 중 하나를 사용합니다.

    • (퍼블릭 DNS) 인스턴스의 퍼블릭 DNS 이름을 사용하여 파일을 전송하려면 다음 명령을 입력합니다.

      scp -i /path/key-pair-name.pem instance-user-name@ec2-198-51-100-1.compute-1.amazonaws.com:~/SampleFile.txt ~/SampleFile2.txt
    • (IPv6) 인스턴스에 IPv6 주소가 있는 경우 인스턴스의 IPv6 주소를 사용하여 반대 방향으로 파일을 전송하려면 다음 명령을 입력합니다.

      scp -i /path/key-pair-name.pem instance-user-name@\[2001:db8:1234:1a00:9691:9503:25ad:1761\]:~/SampleFile.txt ~/SampleFile2.txt

WSL 제거

Windows Subsystem for Linux의 제거 방법은 WSL 배포 제거 방법을 참조하세요.