SSH를 사용하여 Linux 또는 macOS에서 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud

SSH를 사용하여 Linux 또는 macOS에서 Linux 인스턴스에 연결

Secure Shell(SSH)을 사용하여 Linux 또는 macOS 운영 체제를 실행하는 로컬 시스템에서 Linux 인스턴스에 연결하거나 EC2 Instance Connect 또는 AWS Systems Manager Session Manager와 같은 플랫폼 독립적 연결 도구를 사용할 수 있습니다. 플랫폼 독립적 도구에 대한 자세한 내용은 Linux 인스턴스에 연결합니다을(를) 참조하세요.

이 페이지에서는 SSH 클라이언트를 사용하여 인스턴스에 연결하는 방법을 설명합니다. Windows에서 Linux 인스턴스에 연결하려면 Windows에서 연결을(를) 참조하세요.

참고

인스턴스에 연결하려고 시도하는 동안 오류가 발생하는 경우 인스턴스가 모든 SSH 연결 사전 조건을(를) 충족하는지 확인하세요. 모든 사전 조건을 충족하는데도 여전히 Linux 인스턴스에 연결할 수 없는 경우 인스턴스 연결 문제 해결을(를) 참조하세요.

SSH 연결 사전 조건

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

인스턴스 상태 확인

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

인스턴스에 연결하기 위한 퍼블릭 DNS 이름 및 사용자 이름 가져오기

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

프라이빗 키 찾기 및 권한 설정

인스턴스에 연결하는 데 필요한 프라이빗 키를 찾고 키 권한을 설정하려면 프라이빗 키 찾기 및 권한 설정 섹션을 참조하세요.

필요에 따라 로컬 컴퓨터에 SSH 클라이언트 설치

로컬 컴퓨터에 기본적으로 SSH 클라이언트가 설치되어 있을 수 있습니다. 명령줄에 ssh를 입력하여 이 상태를 확인할 수 있습니다. 컴퓨터가 명령을 인식하지 않는다면 SSH 클라이언트를 설치하면 됩니다.

  • Windows Server 2019 및 Windows 10의 최신 버전 – OpenSSH는 설치 가능한 구성 요소로 포함되어 있습니다. 자세한 내용은 Windows의 OpenSSH를 참조하세요

  • Windows의 이전 버전 – OpenSSH를 다운로드하여 설치합니다. 자세한 내용은 Win32-OpenSSH를 참조하세요

  • Linux 및 macOS X – OpenSSH를 다운로드하여 설치합니다. 자세한 내용은 https://www.openssh.com을 참조하세요.

SSH 클라이언트를 사용하여 Linux 인스턴스에 연결

SSH 클라이언트를 사용하여 Linux 인스턴스에 연결하려면 다음 프로시저를 사용하세요. 인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 인스턴스 연결 문제 해결 섹션을 참조하세요.

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

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

      ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
    • (IPv6) 또는 인스턴스에 IPv6 주소가 있는 경우 인스턴스의 IPv6 주소를 사용하여 연결하려면 다음 명령을 입력합니다.

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

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

    The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established.
    ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY.
    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' (ECDSA) to the list of known hosts.

SCP 클라이언트를 사용하여 Linux 인스턴스로 파일 전송

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

필수 조건

다음 절차에서는 인스턴스의 퍼블릭 DNS 이름, 또는 인스턴스에 있는 경우 IPv6 주소를 사용하여 SCP를 사용하는 파일 전송 단계를 안내합니다.

SCP를 사용하여 컴퓨터와 인스턴스 사이에서 파일을 전송하려면
  1. 컴퓨터의 소스 파일 위치와 인스턴스의 대상 경로를 확인합니다. 다음 예시에서 프라이빗 키 파일의 이름은 key-pair-name.pem, 전송할 파일은 my-file.txt, 인스턴스에 대한 사용자 이름은 ec2-user, 인스턴스의 퍼블릭 DNS는 instance-public-dns-name, 인스턴스의 IPv6 주소를 instance-IPv6-address입니다.

    • (퍼블릭 DNS) 인스턴스의 대상으로 파일을 전송하려면 컴퓨터에서 다음 명령을 입력합니다.

      scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@instance-public-dns-name:path/
    • (IPv6) 인스턴스에 IPv6 주소가 있는 경우 인스턴스의 대상으로 파일을 전송하려면 컴퓨터에서 다음 명령을 입력합니다. IPv6 주소는 이스케이프된([ ]) 대괄호(\)로 묶어야 합니다.

      scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@\[instance-IPv6-address\]:path/
  2. SSH를 사용하여 인스턴스에 아직 연결하지 않은 경우 다음과 같은 응답이 표시됩니다.

    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)?

    (선택 사항) 보안 알림의 지문이 인스턴스 지문과 일치하는지 확인할 수 있습니다. 자세한 내용은 (선택 사항) 인스턴스 지문 가져오기 섹션을 참조하세요.

    yes를 입력합니다.

  3. 전송이 성공한 경우 다음과 유사한 응답이 표시됩니다.

    Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
    to the list of known hosts.
    my-file.txt                                100%   480     24.4KB/s   00:00
  4. 반대 방향으로(Amazon EC2 인스턴스에서 로컬 컴퓨터로) 파일을 전송하려면 호스트 파라미터의 순서를 역순으로 지정하면 됩니다. 예를 들어 다음 예시와 같이 EC2 인스턴스에서 my-file.txt를 로컬 컴퓨터의 대상에서 my-file2.txt로 전송할 수 있습니다.

    • (퍼블릭 DNS) 컴퓨터의 대상으로 파일을 전송하려면 컴퓨터에서 다음 명령을 입력합니다.

      scp -i /path/key-pair-name.pem ec2-user@instance-public-dns-name:path/my-file.txt path/my-file2.txt
    • (IPv6) 컴퓨터에 IPv6 주소가 있는 경우 인스턴스의 대상으로 파일을 전송하려면 컴퓨터에서 다음 명령을 입력합니다. IPv6 주소는 이스케이프된([ ]) 대괄호(\)로 묶어야 합니다.

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