Lightsail에서 scp를 사용하여 Linux 인스턴스 간에 파일 전송 - Amazon Lightsail

Lightsail에서 scp를 사용하여 Linux 인스턴스 간에 파일 전송

Linux의 보안 복사(scp) 명령을 사용하여 로컬 컴퓨터에서 Linux 또는 Unix 인스턴스로 파일을 전송하고 Amazon Lightsail의 한 인스턴스에서 다른 인스턴스로 파일을 전송합니다. scp 명령에 대한 자세한 내용은 man7 웹 사이트의 scp(1) - Linux 설명서 페이지를 참조하세요.

이 자습서에서는 한 인스턴스에서 다른 Lightsail 인스턴스로 파일을 복사하는 단계를 안내합니다.

사전 조건

  • 두 Lightsail 인스턴스의 퍼블릭 IP 주소와 함께 두 개의 인스턴스가 실행 중입니다. 인스턴스의 퍼블릭 IP 주소 가져오기 Lightsail 콘솔에 로그인한 다음, 인스턴스 옆에 표시되는 퍼블릭 IP 주소를 복사합니다.

  • SSH 키 페어를 사용하여 두 인스턴스에 모두 액세스할 수 있습니다. 자세한 내용은 Linux 인스턴스에 연결 섹션을 참조하세요.

1단계: 프라이빗 키(.pem) 파일을 로컬 컴퓨터에 저장

프라이빗 키(.pem) 파일을 로컬 컴퓨터에 저장하려면 다음 단계를 완료합니다. 대상 인스턴스의 프라이빗 키 파일은 한 인스턴스에서 다른 인스턴스로 파일을 안전하게 전송하는 데 사용됩니다. 동일한 AWS 리전의 인스턴스 간에 파일을 복사하려면 해당 리전의 기본 키를 사용합니다. 서로 다른 리전의 인스턴스 간에 파일을 복사하려면 대상 인스턴스가 있는 리전의 기본 키를 사용합니다. 키 페어에 대한 자세한 내용은 SSH와 인스턴스에 대한 연결 섹션을 참조하세요.

참고

자체 키 페어를 사용 중이거나 Lightsail 콘솔을 사용하여 키 페어를 생성한 경우에는 자체 프라이빗 키를 찾아서 이를 사용해 인스턴스에 연결합니다. 사용자가 자체 키를 업로드하거나 Lightsail 콘솔을 사용해 키 페어를 생성한 경우에는 Lightsail이 프라이빗 키를 저장하지 않습니다. 프라이빗 키가 없는 scp를 사용하면 인스턴스에 파일을 전송할 수 없습니다.

프라이빗 키(.pem)를 로컬 컴퓨터에 저장
  1. Lightsail 콘솔에 로그인합니다.

  2. 위쪽 탐색 모음에서 사용자 이름을 선택한 후 드롭다운에서 계정을 선택합니다.

  3. SSH 키 탭을 선택합니다.

  4. 페이지의 아래로 스크롤하여 기본 키(Default keys) 섹션으로 이동합니다.

  5. 파일을 전송할 인스턴스가 위치한 AWS 리전의 기본 프라이빗 키 옆에 있는 다운로드를 선택합니다.

    Lightsail 콘솔의 SSH 키 페어.
  6. 로컬 드라이브의 안전한 위치에 프라이빗 키를 저장합니다.

    다운로드한 키를 사용자의 홈 디렉터리에 있는 '키(Keys)' 폴더와 같이 모든 SSH 키를 저장하는 디렉터리로 옮길 수 있습니다. 이 가이드의 다음 섹션에서 프라이빗 키가 저장된 디렉터리를 참조해야 합니다. 프라이빗 키가 .pem이 아닌 다른 형식으로 저장하려고 할 경우 저장하기 전에 수동으로 형식을 .pem으로 변경해야 합니다.

2단계: 프라이빗 키의 권한 변경

다음 절차에서는 프라이빗 키 파일의 권한을 사용자만 읽고 쓸 수 있도록 변경합니다.

프라이빗 키 파일의 권한을 변경
  1. 로컬 시스템에서 터미널 창을 엽니다.

  2. 다음 명령을 입력하여 키 페어의 프라이빗 키를 사용자만 읽고 쓸 수 있도록 합니다. 이는 일부 운영 체제에서 요구하는 보안 모범 사례입니다.

    sudo chmod 400 /path/to/private-key.pem

    명령에서 /path/to/private-key을 인스턴스에서 사용 중인 키 페어의 프라이빗 키를 저장한 디렉터리 경로로 바꿉니다.

    예:

    sudo chmod 400 /Users/user/Keys/LightsailDefaultKey-us-west-2.pem

3단계: 프라이빗 키를 인스턴스로 전송

다음 절차에서는 로컬 컴퓨터에서 scp 명령을 실행하여 프라이빗 키를 소스 인스턴스로 전송합니다.

scp를 사용하여 컴퓨터에서 소스 인스턴스로 프라이빗 키 전송
  1. 컴퓨터의 프라이빗 키 파일 위치와 인스턴스의 대상 경로를 확인합니다. 다음 예제에서 프라이빗 키 파일의 이름은 private-key.pem이고, 소스 인스턴스의 사용자 이름은 ec2-user이고, 소스 인스턴스의 IPv4 주소는 public-ipv4-address이고, 소스 인스턴스의 IPv6 주소는 public-ipv6-address입니다. destination-path/는 프라이빗 키를 전송하는 소스 인스턴스의 위치입니다.

    참고

    인스턴스에서 사용하는 블루프린트에 따라 다음 사용자 이름 중 하나를 지정할 수 있습니다.

    • AlmaLinux OS 9, Amazon Linux 2 및 Amazon Linux 2023, CentOS Stream 9, FreeBSD 및 openSUSE 인스턴스의 경우: ec2-user

    • Debian 인스턴스: admin

    • Ubuntu 인스턴스: ubuntu

    • Bitnami 인스턴스: bitnami

    • Plesk 인스턴스: ubuntu

    • cPanel & WHM 인스턴스: centos

    • (IPv4) 인스턴스로 프라이빗 키 파일을 전송하려면 컴퓨터에서 다음 명령을 입력합니다.

      scp -i /path/private-key.pem /path/private-key.pem ec2-user@public-ipv4-address:path/
    • (IPv6) 인스턴스에 IPv6 주소만 있는 경우 인스턴스로 프라이빗 키 파일을 전송하려면 컴퓨터에서 다음 명령을 입력합니다. IPv6 주소는 이스케이프된([ ]) 대괄호(\)로 묶어야 합니다.

      scp -i /path/private-key.pem /path/private-key.pem ec2-user@\[public-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.
    private-key.pem                                100%   480     24.4KB/s   00:00

이제 프라이빗 키를 소스 인스턴스로 전송했으므로 대상 인스턴스에 안전하게 연결하고 대상 인스턴스로 파일을 전송할 수 있습니다. 다음 단계로 진행하여 방법을 알아봅니다.

4단계: Lightsail Linux 인스턴스와 Unix 인스턴스 간에 파일을 안전하게 전송

다음 절차에서는 한 인스턴스(소스 인스턴스 )에서 scp 명령을 실행하여 파일을 다른 인스턴스(대상 인스턴스 )로 전송합니다.

scp를 사용하여 인스턴스 간에 파일을 전송
  1. SSH를 이용해 소스 인스턴스에 연결합니다. 로컬 컴퓨터에서 터미널 프로그램을 사용하거나 Lightsail에서 브라우저 기반 SSH 클라이언트를 사용하여 연결할 수 있습니다. 자세한 내용은 Linux 인스턴스에 연결 섹션을 참조하세요.

  2. 컴퓨터의 소스 인스턴스의 파일 위치와 대상 인스턴스의 대상 경로를 확인합니다. 다음 예제에서 프라이빗 키 파일의 이름은 private-key.pem이고, 인스턴스의 사용자 이름은 ec2-user이고, 인스턴스의 IPv4 주소는 public-ipv4-address이고, 인스턴스의 IPv6 주소는 public-ipv6-address입니다. destination-path/는 파일을 전송할 대상 인스턴스의 위치입니다.

    • (IPv4) 소스 인스턴스에서 대상 인스턴스로 파일을 전송하려면 소스 인스턴스에서 다음 명령을 입력합니다.

      scp -i /path/private-key.pem /path/my-file.txt ec2-user@public-ipv4-address:destination-path/
    • (IPv6) 소스 인스턴스에서 대상 인스턴스로 파일을 전송하려면 소스 인스턴스에서 다음 명령을 입력합니다. IPv6 주소는 이스케이프된([ ]) 대괄호(\)로 묶어야 합니다.

      scp -i /path/private-key.pem /path/my-file.txt ec2-user@\[public-ipv6-address\]:destination-path/
  3. 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를 입력합니다.

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

    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