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)를 로컬 컴퓨터에 저장
-
Lightsail 콘솔
에 로그인합니다. -
위쪽 탐색 모음에서 사용자 이름을 선택한 후 드롭다운에서 계정을 선택합니다.
-
SSH 키 탭을 선택합니다.
-
페이지의 아래로 스크롤하여 기본 키(Default keys) 섹션으로 이동합니다.
-
파일을 전송할 인스턴스가 위치한 AWS 리전의 기본 프라이빗 키 옆에 있는 다운로드를 선택합니다.
-
로컬 드라이브의 안전한 위치에 프라이빗 키를 저장합니다.
다운로드한 키를 사용자의 홈 디렉터리에 있는 '키(Keys)' 폴더와 같이 모든 SSH 키를 저장하는 디렉터리로 옮길 수 있습니다. 이 가이드의 다음 섹션에서 프라이빗 키가 저장된 디렉터리를 참조해야 합니다. 프라이빗 키가
.pem
이 아닌 다른 형식으로 저장하려고 할 경우 저장하기 전에 수동으로 형식을.pem
으로 변경해야 합니다.
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를 사용하여 컴퓨터에서 소스 인스턴스로 프라이빗 키 전송
-
컴퓨터의 프라이빗 키 파일 위치와 인스턴스의 대상 경로를 확인합니다. 다음 예제에서 프라이빗 키 파일의 이름은
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
.pemec2-user
@public-ipv4-address
:path/
-
(IPv6) 인스턴스에 IPv6 주소만 있는 경우 인스턴스로 프라이빗 키 파일을 전송하려면 컴퓨터에서 다음 명령을 입력합니다. IPv6 주소는 이스케이프된(
[ ]
) 대괄호(\
)로 묶어야 합니다.scp -i
/path/private-key
.pem/path/private-key
.pemec2-user
@\[public-ipv6-address
\]:path/
-
-
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
를 입력합니다. -
전송이 성공한 경우 다음과 유사한 응답이 표시됩니다.
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를 사용하여 인스턴스 간에 파일을 전송
-
SSH를 이용해 소스 인스턴스에 연결합니다. 로컬 컴퓨터에서 터미널 프로그램을 사용하거나 Lightsail에서 브라우저 기반 SSH 클라이언트를 사용하여 연결할 수 있습니다. 자세한 내용은 Linux 인스턴스에 연결 섹션을 참조하세요.
-
컴퓨터의 소스 인스턴스의 파일 위치와 대상 인스턴스의 대상 경로를 확인합니다. 다음 예제에서 프라이빗 키 파일의 이름은
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/
-
-
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
를 입력합니다. -
전송이 성공한 경우 다음과 유사한 응답이 표시됩니다.
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