PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud

PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결

Windows Server 2019 이상을 실행하는 경우 SSH 프로토콜을 사용한 원격 로그인을 위한 오픈 소스 연결 도구인 OpenSSH를 사용하는 것이 좋습니다. OpenSSH를 사용하여 Windows에서 Linux 인스턴스에 연결하는 단계는 OpenSSH를 사용하여 Windows에서 Linux 인스턴스에 연결 섹션을 참조하세요.

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

필수 조건

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

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

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

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

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

로컬 컴퓨터에 PuTTY 설치

PuTTY를 PuTTY 다운로드 페이지에서 다운로드하고 설치합니다. 이전 버전의 PuTTY가 이미 설치되어 있는 경우 최신 버전을 다운로드하는 것이 좋습니다. 전체 제품군을 설치해야 합니다.

PuTTYgen을 사용하여 프라이빗 .pem 키를 .ppk로 변환

인스턴스를 시작할 때 지정한 키 페어에 대해 .pem 형식으로 프라이빗 키를 생성하도록 선택한 경우 PuTTY에서 사용할 .ppk 파일로 변환해야 합니다. 프라이빗 .pem 파일을 찾은 후 다음 단원의 단계를 따릅니다.

PuTTYgen을 사용하여 프라이빗 키 변환

PuTTY는 SSH 키의 PEM 형식을 기본적으로 지원하지 않습니다. PuTTY는 PuTTY에 필요한 PPK 형식으로 PEM 키를 변환하는 PuTTYgen이라는 도구를 제공합니다. PuTTY를 사용하여 인스턴스에 연결하려면 프라이빗 키(.pem 파일)를 이 형식(.ppk 파일)으로 변환해야 합니다.

프라이빗 .pem 키를 .ppk로 변환
  1. 시작 메뉴에서 모든 프로그램, PuTTY, PuTTYgen을 선택합니다.

  2. Type of key to generate(생성할 키 유형)에서 RSA를 선택합니다. PuTTYgen 버전에 이 옵션이 포함되어 있지 않으면 SSH-2 RSA를 선택합니다.

    
							PuTTYgen의 RSA 키입니다.
  3. 로드(Load)를 선택합니다. 기본적으로 PuTTYgen에는 확장명이 .ppk인 파일만 표시됩니다. .pem 파일을 찾으려면 모든 유형의 파일을 표시하는 옵션을 선택합니다.

    
							모든 파일 유형을 선택합니다.
  4. 인스턴스를 시작할 때 지정한 키 페어에 대한 .pem 파일을 선택한 다음 열기를 선택합니다. PuTTYgen에 .pem 파일을 성공적으로 가져왔다는 알림이 표시됩니다. 확인을 선택합니다.

  5. PuTTY에서 사용할 수 있는 형식으로 키를 저장하려면 [프라이빗 키 저장(Save private key)]을 선택합니다. PuTTYgen에서 암호 없이 키 저장에 대한 경고가 표시됩니다. 를 선택합니다.

    참고

    프라이빗 키의 암호는 추가 보호 계층입니다. 프라이빗 키가 노출되더라도 암호 없이 사용할 수 없습니다. 암호문 사용의 단점은 인스턴스에 로그온하거나 인스턴스에 파일을 복사하기 위해 사용자가 개입해야 하기 때문에 자동화를 어렵게 만든다는 것입니다.

  6. 키 페어에 사용한 것과 동일한 키 이름을 지정하고(예: key-pair-name) [저장(Save)]을 선택합니다. PuTTY가 자동으로 .ppk 파일 확장자를 추가합니다.

이제 개인 키가 PuTTY에 사용하기에 올바른 형식으로 되어 있으므로 PuTTY의 SSH 클라이언트를 사용하여 인스턴스에 연결할 수 있습니다.

Linux 인스턴스에 연결합니다

PuTTY를 사용하여 Linux 인스턴스에 연결하려면 다음 프로시저를 사용하세요. 프라이빗 키에 대해 생성한 .ppk 파일이 필요합니다. 자세한 내용은 이전 섹션의 PuTTYgen을 사용하여 프라이빗 키 변환를 참조하세요. 인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 인스턴스 연결 문제 해결 섹션을 참조하세요.

PuTTY의 마지막 테스트 버전: .78

PuTTY를 사용하여 인스턴스에 연결하려면
  1. PuTTY를 시작합니다(시작 메뉴에서 PuTTY를 검색한 다음 열기 선택).

  2. 범주 창에서 세션을 선택하고 다음 필드를 작성합니다.

    1. 호스트 이름 상자에서 다음 중 하나를 수행합니다.

      • (퍼블릭 DNS) 인스턴스의 퍼블릭 DNS 이름을 사용하여 연결하려면 instance-user-name@instance-public-dns-name를 입력합니다.

      • (IPv6) 또는 인스턴스에 IPv6 주소가 있는 경우 인스턴스의 IPv6 주소를 사용하여 연결하려면 instance-user-name@instance-IPv6-address를 입력합니다.

      인스턴스의 사용자 이름과 인스턴스의 퍼블릭 DNS 이름 또는 IPv6 주소를 가져오는 방법에 대한 자세한 내용은 인스턴스에 대한 정보 가져오기을(를) 참조하세요.

    2. Port(포트) 값이 22인지 확인합니다.

    3. 연결 유형 아래에서 SSH를 선택합니다.

    
							PuTTY 구성 - 세션입니다.
  3. (선택 사항) 세션의 활성 상태를 유지하기 위해 일정 간격으로 'keepalive' 데이터를 자동 전송하도록 PuTTY를 구성할 수 있습니다. 이는 세션 비활성으로 인한 인스턴스 연결 해제를 방지하는 데 유용한 기능입니다. 범주 창에서 연결을 선택한 다음, keepalive 간 초에 필요한 간격을 입력합니다. 예를 들어 비활성 상태가 되고 10분 후에 세션 연결이 해제되는 경우, 180을 입력하여 3분마다 keepalive 데이터를 전송하도록 PuTTY를 구성합니다.

  4. 범주 창에서 연결, SSH 및 Auth를 확장합니다. 자격 증명을 선택합니다.

  5. 인증을 위한 프라이빗 키 파일 옆에서 찾아보기를 선택합니다. 프라이빗 키 파일 선택 대화 상자에서 키 페어에 대해 생성한 .ppk 파일을 선택합니다. 파일을 두 번 클릭하거나 프라이빗 키 파일 선택 대화 상자에서 열기를 선택할 수 있습니다.

  6. (선택 사항) 이 세션 후에 이 인스턴스에 다시 연결하려는 경우 나중에 사용할 수 있도록 세션 정보를 저장할 수 있습니다. 범주 창에서 세션을 선택합니다. 저장된 세션에 세션 이름을 입력한 다음 저장을 선택합니다.

  7. 인스턴스에 연결하려면 열기를 선택합니다.

  8. 이 인스턴스에 처음 연결한 경우 PuTTY에서 연결하려는 호스트를 신뢰할 수 있는지 묻는 보안 알림 대화 상자가 표시됩니다.

    1. (선택 사항) 보안 알림 대화 상자의 지문이 앞의 (선택 사항) 인스턴스 지문 가져오기에서 얻은 지문과 일치하는지 확인합니다. 이들 지문이 일치하지 않으면 누군가가 "메시지 가로채기(man-in-the-middle)" 공격을 시도하고 있는 것일 수 있습니다. 이들 지문이 일치하면 다음 단계를 계속 진행합니다.

    2. 수락을 선택합니다. 창이 열리고 인스턴스에 연결됩니다.

      참고

      개인 키를 PuTTY 형식으로 변환할 때 암호문을 지정한 경우 인스턴스에 로그인할 때 암호문을 제공해야 합니다.

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

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

PuTTY SCP(Secure Copy) 클라이언트는 Windows 컴퓨터와 Linux 인스턴스 간에 파일을 전송하는 데 사용할 수 있는 명령줄 도구입니다. GUI(그래픽 사용자 인터페이스)를 선호하는 경우 WinSCP라는 오픈 소스 GUI 도구를 사용할 수 있습니다. 자세한 내용은 WinSCP를 사용하여 Linux 인스턴스로 파일 전송 섹션을 참조하세요.

PSCP를 사용하려면 PuTTYgen을 사용하여 프라이빗 키 변환에서 생성한 프라이빗 키가 필요합니다. 또한 Linux 인스턴스의 퍼블릭 DNS 이름 또는 인스턴스에 IPv6 주소가 있는 경우 IPv6 주소가 필요합니다.

다음 예제에서는 Sample_file.txt 파일을 Windows 컴퓨터의 C:\ 드라이브에서 Amazon Linux 인스턴스의 instance-user-name 홈 디렉터리로 전송합니다. 파일을 전송하려면 다음 명령 중 하나를 사용합니다.

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

    pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt instance-user-name@instance-public-dns-name:/home/instance-user-name/Sample_file.txt
  • (IPv6) 인스턴스에 IPv6 주소가 있는 경우 인스턴스의 IPv6 주소를 사용하여 파일을 전송하려면 다음 명령을 입력합니다. IPv6 주소는 대괄호([ ])로 묶어야 합니다.

    pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt instance-user-name@[instance-IPv6-address]:/home/instance-user-name/Sample_file.txt

WinSCP를 사용하여 Linux 인스턴스로 파일 전송

WinSCP는 SFTP, SCP, FTP, FTPS 프로토콜을 사용하여 원격 컴퓨터로 파일을 업로드하고 전송하는 데 사용할 수 있는 Windows용 GUI 기반 파일 관리자입니다. WinSCP를 사용하면 Windows 컴퓨터에서 Linux 인스턴스로 파일을 끌어다 놓거나 두 시스템 간에 전체 디렉터리 구조를 동기화할 수 있습니다.

요구 사항
  • PuTTYgen을 사용하여 프라이빗 키 변환에서 생성한 프라이빗 키가 있어야 합니다.

  • Linux 인스턴스의 퍼블릭 DNS 이름이 있어야 합니다.

  • Linux 인스턴스에 scp가 설치되어 있어야 합니다. 일부 운영 체제의 경우 openssh-clients 패키지를 설치합니다. Amazon ECS 최적화 AMI와 같은 경우 scp 패키지를 설치합니다. Linux 배포판에 대한 설명서를 확인하세요.

WinSCP를 사용하여 인스턴스에 연결하려면
  1. http://winscp.net/eng/download.php에서 WinSCP를 다운로드하여 설치합니다. 대부분 사용자의 경우 기본 설치 옵션을 그대로 사용해도 좋습니다.

  2. WinSCP를 시작합니다.

  3. WinSCP login(WinSCP 로그인) 화면에서 호스트 이름에 다음 중 하나를 입력합니다.

    • (퍼블릭 DNS 또는 IPv4 주소) 인스턴스의 퍼블릭 DNS 이름 또는 퍼블릭 IPv4 주소를 사용하여 로그인하려면 인스턴스의 퍼블릭 DNS 이름 또는 퍼블릭 IPv4 주소를 입력합니다.

    • (IPv6) 인스턴스에 IPv6 주소가 있는 경우 인스턴스의 IPv6 주소를 사용하여 로그인하려면 인스턴스의 IPv6 주소를 입력합니다.

  4. 사용자 이름에 AMI의 기본 사용자 이름을 입력합니다.

    • AL2023, Amazon Linux 2 또는 Amazon Linux AMI의 사용자 이름은 ec2-user입니다.

    • CentOS AMI의 경우 사용자 이름은 centos 또는 ec2-user입니다.

    • Debian AMI의 경우 사용자 이름은 admin입니다.

    • Fedora AMI의 경우 사용자 이름은 fedora 또는 ec2-user입니다.

    • RHEL AMI의 경우 사용자 이름은 ec2-user 또는 root입니다.

    • SUSE AMI의 경우 사용자 이름은 ec2-user 또는 root입니다.

    • Ubuntu AMI의 경우 사용자 이름은 ubuntu입니다.

    • Oracle AMI의 경우 사용자 이름은 ec2-user입니다.

    • Bitnami AMI의 경우 사용자 이름은 bitnami입니다.

    참고

    다른 Linux 배포에 사용할 기본 사용자 이름을 찾으려면 AMI 제공업체에 문의하세요.

  5. 인스턴스의 프라이빗 키 파일을 지정합니다.

    1. 고급... 버튼을 선택합니다.

    2. SSH에서 인증을 선택합니다.

    3. 프라이빗 키 파일의 경로를 지정하거나 ... 버튼을 선택하여 키 페어 파일을 탐색합니다.

    4. 확인을 선택합니다.

    다음은 WinSCP 버전 6.1의 스크린샷입니다.

    
							WinSCP Advanced 화면입니다.

    WinSCP에는 PuTTY 프라이빗 키 파일(.ppk)이 필요합니다. PuTTYgen을 사용하여 .pem 보안 키 파일을 .ppk 형식으로 변환할 수 있습니다. 자세한 내용은 PuTTYgen을 사용하여 프라이빗 키 변환 섹션을 참조하세요.

  6. (선택 사항) 왼쪽 패널에서 Directories(디렉터리)를 선택합니다. Remote directory(원격 디렉터리)에서 파일을 추가할 디렉터리의 경로를 입력합니다. 고급 사이트 설정을 열려면 최신 버전의 WinSCP에 대해 고급을 선택합니다. Remote directory(원격 디렉터리) 설정을 찾으려면 Environment(환경)에서 Directories(디렉터리)를 선택합니다.

  7. Login(로그인)을 선택합니다. 를 선택하여 호스트 지문을 호스트 캐시에 추가합니다.

    
							WinSCP 화면입니다.
  8. 연결이 설정된 후 연결 창에서 Linux 인스턴스는 오른쪽에 있고 로컬 시스템은 왼쪽에 있습니다. 원격 파일 시스템과 로컬 머신 간에 파일을 끌어 놓을 수 있습니다. WinSCP에 대한 자세한 내용은 http://winscp.net/eng/docs/start의 프로젝트 설명서를 참조하세요.

    SCP를 실행하여 전송을 시작할 수 없다는 오류가 나타나면 Linux 인스턴스에 scp가 설치되었는지 확인합니다.