이 글에서는 SCP를 이용하여 Oracle Cloud에 생성한 인스턴스에 파일을 전송하고, 인스턴스에서 파일을 내려받는 방법을 소개한다.
SCP는 SSH 기반의 파일 전송 프로토콜로, 두 위치 간에 파일과 디렉터리를 안전하게 복사할 수 있게끔 하는 명령줄 유틸리티이다. 이를 통해 파일을 로컬 시스템에서 원격 시스템으로 전송하거나, 반대로 원격 시스템에서 로컬 시스템으로 파일을 전송할 수 있으며, 로컬 시스템에서 둘 이상의 원격 시스템으로 파일을 전송할 수 있다.
SSH 기반의 파일 전송 프로토콜이니만큼, SCP는 데이터를 암호화하여 트래픽을 스누핑하는 사용자가 중요한 정보를 얻을 수 없도록 한다.
SCP를 이용한 업로드
업로드 명령의 기본 형태는 아래와 같다.
scp "로컬 컴퓨터에서 업로드 할 파일의 디렉터리 경로" remote_username@ip_address:"파일을 업로드 할 원격 컴퓨터의 디렉터리 경로"
그러나 Oracle Cloud에서 기본 설정대로 인스턴스를 만들면 SSH 키 기반 접속을 하게 되는데, 위 방법대로 접속을 시도하면 키가 없기 때문에 접속이 거부된다.
이 때문에 SSH 기반 접속을 위해서는 추가적인 옵션을 주고, SSH 키 파일의 디렉터리 경로를 명시해 주어야 한다.
아래는 해당 조건을 적용한 예문이다.
scp -i "SSH 키 경로" "로컬 컴퓨터에서 업로드 할 파일의 디렉터리 경로" remote_username@ip_address:"파일을 업로드 할 원격 컴퓨터의 디렉터리 경로"
scp -i "D:\Documents\Oracle_Cloud\Oracle_Cloud_Ubuntu.key" "D:\TMP\windows10.0-kb5035845-x64.msu" ubuntu@xx.xx.xx.xx:/home/ubuntu/TEMP
이 명령은 "D:\Documents\Oracle_Cloud\Oracle_Cloud_Ubuntu.key"를 이용하여 로그인 한 로컬 컴퓨터의 "D:\TMP\windows10.0-kb5035845-x64.msu"파일을 원격 컴퓨터의 "/home/ubuntu/TEMP" 디렉터리에 저장한다.
명령을 실행하면 위 이미지와 같이 파일이 업로드된다.
파일 업로드가 완료되면 인스턴스 상에서 이를 활용할 수 있다.
디렉터리를 통채로 업로드할 수도 있다.
물론 추가적인 옵션(-r)을 주어야 한다. 아래는 그 예문이다.
scp -r "로컬 컴퓨터에서 업로드 할 디렉터리 경로" username@ip_address:"업로드 할 원격 컴퓨터의 디렉터리 경로"
SSH 키 기반 연결을 한다면 아래의 예문을 사용해야 한다.
scp -i "SSH 키 경로" -r "로컬 컴퓨터에서 업로드 할 디렉터리 경로" username@ip_address:"업로드 할 원격 컴퓨터의 디렉터리 경로"
SCP를 이용한 다운로드
다운로드 명령의 기본 형태는 아래와 같다.
scp username@ip_address"원격 컴퓨터에서 내려받을 파일의 디렉터리 경로" "파일을 내려받을 로컬 컴퓨터의 디렉터리 경로"
SSH 키 기반 접속을 한다면 아래의 예문을 사용해야 한다.
scp -i "SSH 키 경로" username@ip_address"원격 컴퓨터에서 내려받을 파일의 디렉터리 경로" "파일을 내려받을 로컬 컴퓨터의 디렉터리 경로"
디렉터리를 통채로 내려받고 싶다면 아래의 예문을 이용한다.
scp -i "SSH 키 경로" -r username@ip_address"원격 컴퓨터에서 내려받을 디렉터리 경로" "내려받을 로컬 컴퓨터의 디렉터리 경로"
여담
Windows는 파일 및 디렉터리 경로의 대소문자를 구분하지 않지만, Linux는 파일 및 디렉터리의 대소문자를 구분한다.
즉, Example.exe와 EXAMPLE.EXE는 Windows에서는 같은 파일이지만, Linux에서는 다른 파일이다.
이 때문에 Linux 경로를 입력하는 경우, 대소문자를 주의하여 입력하여야 한다.
Oracle Cloud 시리즈
참고 자료
'Clouds > Oracle' 카테고리의 다른 글
Oracle Cloud #8 - SSH 연결에 필요한 SSH 키 변경하기 (0) | 2024.07.01 |
---|---|
Oracle Cloud #7 - SFTP를 이용하여 Oracle 인스턴스와 파일 주고받기 (0) | 2024.06.01 |
Oracle Cloud #5 - 스왑 파일 만들기 (1) | 2024.01.15 |
Oracle Cloud #4 - APT UPDATE && APT UPGRADE (0) | 2024.01.01 |
Oracle Cloud #3 - SSH를 이용하여 인스턴스에 접속하기 (0) | 2023.12.01 |
댓글