SCP를 사용하여 VM 간에 파일 이동

적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합

이 문서에서는 SCP(Secure Copy)를 사용하여 워크스테이션에서 Azure VM으로 또는 Azure VM에서 워크스테이션으로 파일을 이동하는 방법을 보여 줍니다. 워크스테이션과 VM 간에 신속하고 안전하게 파일을 이동하는 것은 Azure 인프라 관리의 중요한 부분입니다.

이 문서의 경우 SSH가 사용하도록 설정된 Azure에 배포된 VM이 필요합니다. 또한 로컬 컴퓨터에 SCP 클라이언트가 필요합니다. SSH를 기반으로 빌드되었으며 대부분의 컴퓨터의 기본 셸에 포함되어 있습니다.

빠른 명령

VM에 파일 복사

scp file azureuser@azurehost:directory/targetfile

VM에서 파일 복사

scp azureuser@azurehost:directory/file targetfile

자세한 연습

예를 들어 Azure 구성 파일을 VM으로 이동하고 로그 파일 디렉터리를 풀다운합니다. 이때 두 경우 모두에서 SCP를 사용합니다.

SSH 키 쌍 인증

SCP는 전송 계층에 대해 SSH를 사용합니다. SSH는 대상 호스트에서 인증을 처리하고 SSH와 함께 기본적으로 제공되는 암호화된 터널에서 파일을 이동합니다. SSH 인증에는 사용자 이름 및 암호를 사용할 수 있습니다. 그러나 SSH 공개 및 프라이빗 키 인증이 보안 모범 사례로 권장됩니다. SSH에서 연결을 인증하면 SCP는 파일 복사를 시작합니다. 적절히 구성된 ~/.ssh/config와 SSH 공개 및 프라이빗 키를 사용하면 서버 이름(또는 IP 주소)만 사용해서 SCP 연결을 설정할 수 있습니다. SSH 키가 하나만 있는 경우 SCP는 ~/.ssh/ 디렉터리에서 이 키를 찾은 후 VM에 로그인하는 데 기본적으로 사용합니다.

~/.ssh/config와 SSH 공개 및 프라이빗 키 구성에 대한 자세한 내용은 SSH 키 만들기를 참조하세요.

파일을 VM에 SCP

첫 번째 예제에서는 Azure 구성 파일을 Automation 배포에 사용되는 VM까지 복사합니다. 이 파일에는 비밀이 포함된 Azure API 자격 증명이 있으므로 보안이 중요합니다. SSH에서 제공하는 암호화된 터널은 파일의 콘텐츠를 보호합니다.

다음 명령에서는 로컬 .azure/config 파일을 FQDN myserver.eastus.cloudapp.azure.com을 사용하여 Azure VM에 복사합니다. FQDN이 설정되지 않은 경우 VM의 IP 주소를 사용할 수도 있습니다. Azure VM의 관리자 사용자 이름은 azureuser입니다. 파일은 /home/azureuser/ 디렉터리로 대상이 지정됩니다. 이 명령에서 고유한 값을 대체합니다.

scp ~/.azure/config azureuser@myserver.eastus.cloudapp.com:/home/azureuser/config

VM에서 디렉터리를 SCP

이 예에서는 VM에서 워크스테이션으로 로그 파일 디렉터리를 복사합니다. 로그 파일에는 중요한 데이터 및 비밀 데이터가 있을 수도 있고 없을 수도 있습니다. 그러나 SCP를 사용하면 로그 파일의 콘텐츠가 암호화됩니다. SCP를 사용하여 파일을 전송하는 것이 로그 디렉터리 및 파일을 안전하게 워크스테이션으로 가져오는 가장 쉬우면서도 안전한 방법입니다.

다음 명령에서는 Azure VM에서 /home/azureuser/logs/ 디렉터리의 파일을 local/tmp 디렉터리로 복사합니다.

scp -r azureuser@myserver.eastus.cloudapp.com:/home/azureuser/logs/. /tmp/

-r 플래그는 명령에 나열된 디렉터리의 시점부터 파일 및 디렉터리를 재귀적으로 복사하도록 SCP에 지시합니다. 또한 명령줄 구문은 cp 복사 명령과 비슷합니다.

다음 단계