머신-사용자간에 파일을 전송하려면?
✔️ 현재 RUAI의 머신은 모두 Ubuntu OS를 기반으로 하고 있습니다. 자신의 로컬 컴퓨터에 있는 파일 혹은 대여한 머신 내에 존재하는 파일을 주고 받을 때는 터미널을 통해 전송해야 합니다.
✔️ 해당 가이드에서는 scp
, croc
에 대해 다룹니다.
1. SCP 명령을 이용한 파일 전송
1. Windows(내 컴퓨터) ↔︎ Ubuntu(원격 머신)
Windows(내 컴퓨터) → Ubuntu(원격 머신)
✔️ Windows10을 기준으로 우선 OpenSSH Client가 활성화 되어 있어야 합니다.
[설정] → [앱 및 기능] → [선택적 기능] 으로 이동해 OpenSSH가 설치 되어 있는지 확인합니다.
✔️ 이후 터미널(CMD), 파워 셸(PowerShell)을 실행하여 아래 scp
명령을 이용해 원격지로 파일 혹은 디렉토리를 전송합니다.
Copy scp -P [머신 개발 환경 포트] [보낼 파일 경로(드래그 드랍시 경로 표시)] [사용자 명]@machine.runyour.ai:[원격지 머신 저장 경로]
- 위 명령에서 []칸을 채우기 위해 대여한 머신에서 [개발 환경 열기] 버튼을 클릭하여 SSH 접속 정보를 확인합니다.
Copy scp -P 30002 C:\image\image.zip ruai@machine.runyour.ai:/home/ruai
Copy scp -r -P 30002 C:\image\image.zip ruai@machine.runyour.ai:/home/ruai
Ubuntu(원격 머신) → Windows(내 컴퓨터)
✔️ 원격지 머신에서 내 컴퓨터로 파일 및 폴더를 가져올 때는 명령을 반대로 작성하면 됩니다.
Copy scp -P [머신 개발 환경 포트] [사용자 명]@machine.runyour.ai:[원격지 파일 및 폴더 경로] [자신의 컴퓨터에 저장할 위치]
Copy scp -P 30002 ruai@machine.runyour.ai:/home/ruai/image.zip C:\image
Copy scp -r -P 30002 ruai@machine.runyour.ai:/home/ruai/image.zip C:\image
2. mac OS(내 컴퓨터) ↔︎ Ubuntu(원격 머신)
파일 전송 이전 개발 환경을 확인합니다.
mac OS(내 컴퓨터) → Ubuntu(원격 머신)
Copy scp -P [머신 개발 환경 포트] [보낼 파일 경로(드래그 드랍시 경로 표시)] [사용자 명]@machine.runyour.ai:[원격지 머신 저장 경로]
Copy scp -P 30002 /Document/image/image.zip ruai@machine.runyour.ai:/home/ruai
Copy scp -r -P 30002 /Document/image/image.zip ruai@machine.runyour.ai:/home/ruai
Ubuntu(원격 머신) → mac OS(내 컴퓨터)
Copy scp -P [머신 개발 환경 포트] [사용자 명]@machine.runyour.ai:[원격지 파일 및 폴더 경로] [자신의 컴퓨터에 저장할 위치]
Copy scp -P 30002 ruai@machine.runyour.ai:/home/ruai/image.zip /Document/image
Copy scp -r -P 30002 ruai@machine.runyour.ai:/home/ruai/image.zip /Document/image
2. Croc CLI툴을 이용한 파일 전송
croc은 두 컴퓨터간 쉽게 데이터를 전송하는 CLI 기반 파일 전송 툴입니다.
릴레이를 이용해 두 컴퓨터간 데이터 전송. 종단간 암호화가 적용됩 니다.
또한 크로스 플랫폼(윈도우, 리눅스, 맥)을 지원하며 다중 파일 전송도 가능합니다.
1. 다운로드
Unix
터미널을 실행하여 다음 명령을 입력하여 설치합니다.
Ubuntu
터미널을 실행하여 다음 명령을 입력하여 설치합니다.
Copy wget https://github.com/schollz/croc/releases/download/v10.0.10/croc_v10.0.13_Linux-64bit.tar.gz
tar -xvf croc_v10.0.13_Linux-64bit.tar.gz
cp ./croc /usr/local/bin
Mac (brew 필요)
터미널을 실행하여 다음 명령을 입력하여 설치합니다.
Window (scoop 혹은 choco 혹은 winget 필요)
이 가이드에서는 scoop을 이용해 설치하는 방법을 소개하겠습니다. 우선 윈도우 PowerShell 을 관리자 권한으로 실행하여 다음 두 명령을 차례대로 입력하여 scoop
을 설치합니다.
Copy 1 // Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
2 // Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
이어서 croc을 설치합니다.
Copy 1 // # scoop 을 이용해 설치하는 경우
2 // scoop install croc
3 //
4 // # choco 을 이용해 설치하는 경우
5 // choco install croc
6 //
7 // # winget을 이용해 설치하는 경우
8 // winget install schollz.croc
2. 사용 방법
터미널을 실행하여 대여 머신에 접속합니다.
파일 전송, 수신 받는 쪽 모두 터미널을 실행하여 다음 역할에 따라 명령을 입력합니다.
파일 전송
Copy croc send [전송할 파일(전송 파일 드래그 드롭으로 경로 설정 가능)]
위 명령을 수행하면 해당 터미널에서 Code is: [코드]
가 생성되는 것을 볼 수 있습니다.
이 코드
를 수신하는 쪽에서 입력하면 하면 됩니다.
파일 수신
Copy croc [파일 전송시 생성된 코드 입력]
파일 전송시 생성된 코드를 입력하면 파일을 가져옵니다.
예시
sender - 파일 전송 (내 컴퓨터 혹은 원격 머신의 터미널에서 수행)
Copy 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 - 파일 가져오기 (내 컴퓨터 혹은 원격 머신의 터미널에서 수행)
Copy 1 // > taster@machine-runyourai-1:~$ croc 0406-milk-parker-small
2 // Accept 'image.zip' (25182 B)? (Y/n) // 엔터 입력
3 //
4 // ...
5 // image.zip 100% |████████████████████|