머신-사용자간 파일 전송

가이드를 통해 파일 전송을 쉽게 해보세요!

머신-사용자간에 파일을 전송하려면?

✔️ 현재 RUAI의 머신은 모두 Ubuntu OS를 기반으로 하고 있습니다. 자신의 로컬 컴퓨터에 있는 파일 혹은 대여한 머신 내에 존재하는 파일을 주고 받을 때는 터미널을 통해 전송해야 합니다.

✔️ 해당 가이드에서는 scp , croc 에 대해 다룹니다.


1. SCP 명령을 이용한 파일 전송

1. Windows(내 컴퓨터) ↔︎ Ubuntu(원격 머신)

Windows(내 컴퓨터) → Ubuntu(원격 머신)

✔️ Windows10을 기준으로 우선 OpenSSH Client가 활성화 되어 있어야 합니다.

  • [설정] → [앱 및 기능] → [선택적 기능] 으로 이동해 OpenSSH가 설치 되어 있는지 확인합니다.

✔️ 이후 터미널(CMD), 파워 셸(PowerShell)을 실행하여 아래 scp 명령을 이용해 원격지로 파일 혹은 디렉토리를 전송합니다.

  • 발송 포맷은 다음과 같습니다.

scp -P [머신 개발 환경 포트] [보낼 파일 경로(드래그 드랍시 경로 표시)] [사용자 명]@machine.runyour.ai:[원격지 머신 저장 경로]

- 위 명령에서 []칸을 채우기 위해 대여한 머신에서 [개발 환경 열기] 버튼을 클릭하여 SSH 접속 정보를 확인합니다.

  • 파일을 전송하는 경우 예시

scp -P 30002 C:\image\image.zip ruai@machine.runyour.ai:/home/ruai
  • 폴더를 전송하는 경우 예시

scp -r -P 30002 C:\image\image.zip ruai@machine.runyour.ai:/home/ruai

Ubuntu(원격 머신) → Windows(내 컴퓨터)

✔️ 원격지 머신에서 내 컴퓨터로 파일 및 폴더를 가져올 때는 명령을 반대로 작성하면 됩니다.

  • 발송 포맷

scp -P [머신 개발 환경 포트] [사용자 명]@machine.runyour.ai:[원격지 파일 및 폴더 경로] [자신의 컴퓨터에 저장할 위치]
  • 파일을 가져오는 경우 예시

scp -P 30002 ruai@machine.runyour.ai:/home/ruai/image.zip C:\image
  • 폴더를 가져오는 경우 예시

scp -r -P 30002 ruai@machine.runyour.ai:/home/ruai/image.zip C:\image

2. mac OS(내 컴퓨터) ↔︎ Ubuntu(원격 머신)

파일 전송 이전 개발 환경을 확인합니다.

mac OS(내 컴퓨터) → Ubuntu(원격 머신)

  • 발송 포맷

 scp -P [머신 개발 환경 포트] [보낼 파일 경로(드래그 드랍시 경로 표시)] [사용자 명]@machine.runyour.ai:[원격지 머신 저장 경로]
  • 파일을 전송하는 경우 예시

scp -P 30002 /Document/image/image.zip ruai@machine.runyour.ai:/home/ruai
  • 폴더를 전송하는 경우 예시

scp -r -P 30002 /Document/image/image.zip ruai@machine.runyour.ai:/home/ruai

Ubuntu(원격 머신) → mac OS(내 컴퓨터)

  • 발송 포맷

scp -P [머신 개발 환경 포트] [사용자 명]@machine.runyour.ai:[원격지 파일 및 폴더 경로] [자신의 컴퓨터에 저장할 위치]
  • 파일을 가져오는 경우 예시

scp -P 30002 ruai@machine.runyour.ai:/home/ruai/image.zip /Document/image
  • 폴더를 가져오는 경우 예시

scp -r -P 30002 ruai@machine.runyour.ai:/home/ruai/image.zip /Document/image

2. Croc CLI툴을 이용한 파일 전송

croc은 두 컴퓨터간 쉽게 데이터를 전송하는 CLI 기반 파일 전송 툴입니다.

릴레이를 이용해 두 컴퓨터간 데이터 전송. 종단간 암호화가 적용됩 니다.

또한 크로스 플랫폼(윈도우, 리눅스, 맥)을 지원하며 다중 파일 전송도 가능합니다.

1. 다운로드

Unix

터미널을 실행하여 다음 명령을 입력하여 설치합니다.

nix-env -i croc

Mac (brew 필요)

터미널을 실행하여 다음 명령을 입력하여 설치합니다.

brew install croc

Window (scoop 혹은 choco 혹은 winget 필요)

이 가이드에서는 scoop을 이용해 설치하는 방법을 소개하겠습니다. 우선 윈도우 PowerShell 을 관리자 권한으로 실행하여 다음 두 명령을 차례대로 입력하여 scoop 을 설치합니다.

1 // Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser


2 // Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

이어서 croc을 설치합니다.

1 // # scoop 을 이용해 설치하는 경우
2 // scoop install croc
3 // 
4 // # choco 을 이용해 설치하는 경우
5 // choco install croc
6 // 
7 // # winget을 이용해 설치하는 경우
8 // winget install schollz.croc

2. 사용 방법

터미널을 실행하여 대여 머신에 접속합니다.

파일 전송, 수신 받는 쪽 모두 터미널을 실행하여 다음 역할에 따라 명령을 입력합니다.

파일 전송

croc send [전송할 파일(전송 파일 드래그 드롭으로 경로 설정 가능)]

위 명령을 수행하면 해당 터미널에서 Code is: [코드] 가 생성되는 것을 볼 수 있습니다.

코드 를 수신하는 쪽에서 입력하면 하면 됩니다.

파일 수신

croc [파일 전송시 생성된 코드 입력]

파일 전송시 생성된 코드를 입력하면 파일을 가져옵니다.

예시

sender - 파일 전송 (내 컴퓨터 혹은 원격 머신의 터미널에서 수행)

1 // > croc send C:\image\image.zip
2 // Sending 'image.zip' (25182 B)
3 // # 코드가 생성됨.
4 // Code is: 0406-milk-parker-small

5 // On the other computer run

receiver - 파일 가져오기 (내 컴퓨터 혹은 원격 머신의 터미널에서 수행)

1 // > taster@machine-runyourai-1:~$ croc 0406-milk-parker-small
2 // Accept 'image.zip' (25182 B)? (Y/n) // 엔터 입력
3 //
4 // ...

5 // image.zip 100% |████████████████████|

Last updated