메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

SSH를 사용하여 Linux 인스턴스에 연결

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

참고

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

다음 지침에서는 SSH 클라이언트를 사용하여 인스턴스에 연결하는 방법을 설명합니다. 인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 인스턴스 연결 문제 해결을 참조하십시오.

사전 조건

Linux 인스턴스에 연결하려면 먼저 다음 사전 요구 사항을 완료하십시오.

  • SSH 클라이언트 설치

    Linux 컴퓨터에는 기본적으로 SSH 클라이언트가 포함되어 있을 가능성이 높습니다. 명령줄에 ssh를 입력하여 SSH 클라이언트가 있는지 확인할 수 있습니다. 컴퓨터에서 이 명령이 인식되지 않으면 OpenSSH 프로젝트는 전체 SSH 도구의 무료 구현을 제공합니다. 자세한 내용은 http://www.openssh.com을 참조하십시오.

  • AWS CLI 도구 설치

    (선택 사항) 타사의 퍼블릭 AMI를 사용하고 있는 경우 명령줄 도구를 사용하여 지문을 확인할 수 있습니다. AWS CLI 설치에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서Getting Set Up을 참조하십시오.

  • 인스턴스의 ID 보기

    Amazon EC2 콘솔을 사용하여 인스턴스의 ID를 볼 수 있습니다([Instance ID] 열에서). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다.

  • 인스턴스의 퍼블릭 DNS 이름 보기

    Amazon EC2 콘솔을 사용해서 사용자의 인스턴스에 대한 퍼블릭 DNS를 얻을 수 있습니다([Public DNS (IPv4)] 열 확인. 이 열이 숨겨진 경우는 [Show/Hide] 아이콘을 클릭하고 [Public DNS (IPv4)]를 선택). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다.

  • (IPv6 전용) 인스턴스의 IPv6 주소를 얻습니다.

    인스턴스에 IPv6 주소를 할당했다면 퍼블릭 IPv4 주소나 퍼블릭 IPv4 DNS 호스트 이름 대신 IPv6 주소를 사용하여 인스턴스에 연결할 수도 있습니다. 로컬 컴퓨터에 IPv6 주소가 있고 IPv6를 사용하도록 컴퓨터를 구성해야 합니다. Amazon EC2 콘솔을 사용하여 인스턴스의 IPv6 주소를 얻을 수 있습니다([IPv6 IPs] 필드 확인). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다. IPv6에 대한 자세한 내용은 IPv6 주소 단원을 참조하십시오.

  • 프라이빗 키 찾기

    인스턴스를 시작할 때 지정한 키 페어를 찾기 위해 .pem 파일의 컴퓨터 상 위치에 대한 정규화된 경로를 얻습니다.

  • IP 주소에서 인스턴스로의 인바운드 SSH 트래픽 활성화

    인스턴스와 연관된 보안 그룹이 IP 주소로부터 들어오는 SSH 트래픽을 허용하는지 확인하십시오. 기본 보안 그룹은 기본적으로 들어오는 SSH 트래픽을 허용하지 않습니다. 자세한 내용은 Linux 인스턴스의 인바운드 트래픽 권한 부여 단원을 참조하십시오.

Linux 인스턴스에 연결

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

SSH를 사용하여 인스턴스에 연결하려면

  1. (선택 사항) 로컬 시스템(인스턴스가 아님)에서 다음 명령 중 하나를 사용하여 실행 중인 인스턴스에서 RSA 키 지문을 확인할 수 있습니다. 이 기능은 타사의 퍼블릭 AMI에서 인스턴스를 시작한 경우에 유용합니다. SSH HOST KEY FINGERPRINTS 섹션을 찾아서 RSA 지문(예: 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f)을 적고 이것을 인스턴스의 지문과 비교합니다.

    인스턴스가 pending 상태가 아닌 running 상태인지 확인합니다. SSH HOST KEY FINGERPRINTS 섹션은 인스턴스를 처음 부팅한 후에만 사용할 수 있습니다.

  2. 명령줄 셸에서 디렉터리를 인스턴스를 시작할 때 만든 프라이빗 키 파일의 위치로 변경합니다.

  3. chmod 명령을 사용하여 프라이빗 키 파일을 공개적으로 볼 수 없는지 확인합니다. 예를 들어, 프라이빗 키 파일의 이름이 my-key-pair.pem인 경우 다음 명령을 사용합니다.

    Copy
    chmod 400 /path/my-key-pair.pem
  4. ssh 명령을 사용하여 인스턴스에 연결합니다. 프라이빗 키(.pem) 파일과 user_name@public_dns_name을 지정합니다. Amazon Linux의 경우 사용자 이름은 ec2-user입니다. RHEL의 경우 사용자 이름은 ec2-user 또는 root입니다. Ubuntu의 경우 사용자 이름은 ubuntu 또는 root입니다. Centos의 경우 사용자 이름은 centos입니다. Fedora의 경우 사용자 이름은 ec2-user입니다. SUSE의 경우 사용자 이름은 ec2-user 또는 root입니다. ec2-userroot를 사용할 수 없는 경우 AMI 공급자에게 문의하십시오.

    Copy
    ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

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

    호스트 'ec2-198-51-100-1.compute-1.amazonaws.com(10.254.142.33)'의 신뢰성은 확인할 수 없습니다. RSA 키 지문은 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f입니다. 연결을 계속하시겠습니까(예/아니요)?
  5. (IPv6 전용) 또는 IPv6 주소를 이용해 인스턴스에 연결할 수도 있습니다. 프라이빗 키(.pem) 파일 경로 및 적절한 사용자 이름을 사용하여 ssh 명령을 지정합니다. Amazon Linux의 경우 사용자 이름은 ec2-user입니다. RHEL의 경우 사용자 이름은 ec2-user 또는 root입니다. Ubuntu의 경우 사용자 이름은 ubuntu 또는 root입니다. Centos의 경우 사용자 이름은 centos입니다. Fedora의 경우 사용자 이름은 ec2-user입니다. SUSE의 경우 사용자 이름은 ec2-user 또는 root입니다. ec2-userroot를 사용할 수 없는 경우 AMI 공급자에게 문의하십시오.

    Copy
    ssh -i /path/my-key-pair.pem ec2-user@2001:db8:1234:1a00:9691:9503:25ad:1761
  6. (선택 사항) 보안 알림의 지문이 1단계에서 얻은 지문과 일치하는지 확인합니다. 이들 지문이 일치하지 않으면 누군가가 "메시지 가로채기(man-in-the-middle)" 공격을 시도하고 있는 것일 수 있습니다. 이들 지문이 일치하면 다음 단계를 계속 진행합니다.

  7. yes를 입력합니다.

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

    경고: 'ec2-198-51-100-1.compute-1.amazonaws.com'(RSA)을 알려진 호스트 목록에 영구적으로 추가했습니다.

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

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

사전 조건

  • SCP 클라이언트 설치

    대부분의 Linux, Unix 및 Apple 컴퓨터에는 기본적으로 SCP 클라이언트가 포함되어 있습니다. 그렇지 않은 경우, OpenSSH 프로젝트는 SCP 클라이언트를 포함하는 전체 SSH 도구의 무료 구현을 제공합니다. 자세한 내용은 http://www.openssh.org를 참조하십시오.

  • 인스턴스의 ID 보기

    Amazon EC2 콘솔을 사용하여 인스턴스의 ID를 볼 수 있습니다([Instance ID] 열에서). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다.

  • 인스턴스의 퍼블릭 DNS 이름 보기

    Amazon EC2 콘솔을 사용해서 사용자의 인스턴스에 대한 퍼블릭 DNS를 얻을 수 있습니다([Public DNS (IPv4)] 열 확인. 이 열이 숨겨진 경우는 [Show/Hide] 아이콘을 클릭하고 [Public DNS (IPv4)]를 선택). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다.

  • (IPv6 전용) 인스턴스의 IPv6 주소를 얻습니다.

    인스턴스에 IPv6 주소를 할당했다면 퍼블릭 IPv4 주소나 퍼블릭 IPv4 DNS 호스트 이름 대신 IPv6 주소를 사용하여 인스턴스에 연결할 수도 있습니다. 로컬 컴퓨터에 IPv6 주소가 있고 IPv6를 사용하도록 컴퓨터를 구성해야 합니다. Amazon EC2 콘솔을 사용하여 인스턴스의 IPv6 주소를 얻을 수 있습니다([IPv6 IPs] 필드 확인). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다. IPv6에 대한 자세한 내용은 IPv6 주소 단원을 참조하십시오.

  • 프라이빗 키 찾기

    인스턴스를 시작할 때 지정한 키 페어를 찾기 위해 .pem 파일의 컴퓨터 상 위치에 대한 정규화된 경로를 얻습니다.

  • IP 주소에서 인스턴스로의 인바운드 SSH 트래픽 활성화

    인스턴스와 연관된 보안 그룹이 IP 주소로부터 들어오는 SSH 트래픽을 허용하는지 확인하십시오. 기본 보안 그룹은 기본적으로 들어오는 SSH 트래픽을 허용하지 않습니다. 자세한 내용은 Linux 인스턴스의 인바운드 트래픽 권한 부여 단원을 참조하십시오.

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

SCP를 사용하여 파일을 전송하려면

  1. (선택 사항) 로컬 시스템에서 다음 명령 중 하나를 사용하여 인스턴스에서 RSA 키 지문을 확인할 수 있습니다. 이 기능은 타사의 퍼블릭 AMI에서 인스턴스를 시작한 경우에 유용합니다. SSH HOST KEY FINGERPRINTS 섹션을 찾아서 RSA 지문(예: 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f)을 적고 이것을 인스턴스의 지문과 비교합니다.

    SSH HOST KEY FINGERPRINTS 섹션은 인스턴스를 처음 부팅한 후에만 사용할 수 있습니다.

  2. 명령 셸에서 디렉터리를 인스턴스를 시작할 때 지정한 프라이빗 키 파일의 위치로 변경합니다.

  3. chmod 명령을 사용하여 프라이빗 키 파일을 공개적으로 볼 수 없는지 확인합니다. 예를 들어, 프라이빗 키 파일의 이름이 my-key-pair.pem인 경우 다음 명령을 사용합니다.

    Copy
    chmod 400 /path/my-key-pair.pem
  4. 인스턴스의 퍼블릭 DNS 이름을 사용하여 인스턴스로 파일을 전송합니다. 예를 들어, 프라이빗 키 파일의 이름이 my-key-pair이고 전송할 파일이 SampleFile.txt, 이며 인스턴스의 퍼블릭 DNS 이름이 ec2-198-51-100-1.compute-1.amazonaws.com인 경우, 다음 명령을 사용하여 파일을 ec2-user 홈 디렉터리로 복사합니다.

    Copy
    scp -i /path/my-key-pair.pem /path/SampleFile.txt ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~

    작은 정보

    Amazon Linux의 경우 사용자 이름은 ec2-user입니다. RHEL의 경우 사용자 이름은 ec2-user 또는 root입니다. Ubuntu의 경우 사용자 이름은 ubuntu 또는 root입니다. Centos의 경우 사용자 이름은 centos입니다. Fedora의 경우 사용자 이름은 ec2-user입니다. SUSE의 경우 사용자 이름은 ec2-user 또는 root입니다. ec2-userroot를 사용할 수 없는 경우 AMI 공급자에게 문의하십시오.

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

    호스트 'ec2-198-51-100-1.compute-1.amazonaws.com(10.254.142.33)'의 신뢰성은 확인할 수 없습니다. RSA 키 지문은 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f입니다. 연결을 계속하시겠습니까(예/아니요)?
  5. (IPv6 전용) 또는 인스턴스의 IPv6 주소를 이용해 파일을 전송할 수도 있습니다. IPv6 주소는 이스케이프된(\) 대괄호([])로 묶어야 합니다.

    Copy
    scp -i /path/my-key-pair.pem /path/SampleFile.txt ec2-user@\[2001:db8:1234:1a00:9691:9503:25ad:1761\]:~
  6. (선택 사항) 보안 알림의 지문이 1단계에서 얻은 지문과 일치하는지 확인합니다. 이들 지문이 일치하지 않으면 누군가가 "메시지 가로채기(man-in-the-middle)" 공격을 시도하고 있는 것일 수 있습니다. 이들 지문이 일치하면 다음 단계를 계속 진행합니다.

  7. yes를 입력합니다.

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

    경고: 'ec2-198-51-100-1.compute-1.amazonaws.com'(RSA)을 알려진 호스트 목록에 영구적으로 추가했습니다. 파일 모드 전송: C0644 20 SampleFile.txt 싱크: 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를 설치하십시오.

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

    Copy
    scp -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~/SampleFile.txt ~/SampleFile2.txt
  9. (IPv6 전용) 또는 인스턴스의 IPv6 주소를 이용해 반대 방향으로 파일을 전송할 수도 있습니다.

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