본문 바로가기
Clouds/Oracle

Oracle Cloud #6 - SCP를 이용하여 Oracle 인스턴스와 파일 주고받기

by Spring13 2024. 6. 1.

이 글에서는 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" 디렉터리에 저장한다.

 

명령을 실행하면 위 이미지와 같이 파일이 업로드된다.

 

OpenSSH를 이용해 접속한 모습

파일 업로드가 완료되면 인스턴스 상에서 이를 활용할 수 있다.


디렉터리를 통채로 업로드할 수도 있다.

 

물론 추가적인 옵션(-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 시리즈

더보기

https://sprout13.tistory.com/59

 

ORACLE Cloud #1 - 가입하기

전에 필자는 MS Azure for Students에 가입하는 법에 대해 글을 쓴 바 있다. Azure for Students #1 - 가입하기 Microsoft Azure는 마이크로소프트에서 만든 클라우드 컴퓨팅 플랫폼으로, 인터넷을 통해 다양한 서

sprout13.tistory.com

 

https://sprout13.tistory.com/66

 

Oracle Cloud #2 - 인스턴스 만들기

저번 글에서 Oracle Cloud를 사용하기 위해 회원가입을 하는 방법을 설명한 바 있다. ORACLE Cloud #1 - 가입하기 전에 필자는 MS Azure for Students에 가입하는 법에 대해 글을 쓴 바 있다. Azure for Students #1 -

sprout13.tistory.com

 

https://sprout13.tistory.com/67

 

Oracle Cloud #3 - SSH를 이용하여 인스턴스에 접속하기

저번 글에서 클라우드 인스턴스를 생성하는 방법에 대해 알아본 바 있다. Oracle Cloud #2 - 인스턴스 만들기 저번 글에서 Oracle Cloud를 사용하기 위해 회원가입을 하는 방법을 설명한 바 있다. ORACLE Cl

sprout13.tistory.com

 

https://sprout13.tistory.com/71

 

Oracle Cloud #4 - APT UPDATE && APT UPGRADE

지난 글에서 APT에 대해 알아본 바 있다. Linux Mint에서 APT를 이용하여 패키지 업데이트하기 APT(Advenced Package Tool)란 Debian 계열 Linux에서 사용하는 고급 패키지 도구이다. 이 도구를 이용하여 사용자

sprout13.tistory.com

 

https://sprout13.tistory.com/72

 

Oracle Cloud #5 - 스왑 파일 만들기

이전 글에서, 인스턴스를 처음 만들면 운영체제에서 디스크 스왑을 사용하도록 설정되어 있지 않다고 한 바 있다. 이용자에 따라, 굳이 디스크 스왑을 사용하지 않아도 된다. 서버 운영체제이기

sprout13.tistory.com

https://sprout13.tistory.com/79

https://sprout13.tistory.com/80


참고 자료


더보기
728x90
반응형

댓글