공공연히 개발하기 🧑‍💻/OS

[맥,리눅스] 터미널 ssh, scp 원격 파일 전송 - 로컬과 서버, 서버와 서버

공공연히 2024. 9. 3. 23:17

Table of Contents

1. ssh 접속
- .pem 키파일로 접속
- ssh config 설정으로 접속

2. scp 파일 원격 전송
- 로컬에서 서버
- 서버에서 로컬
- 서버에서 서버 (원격에서 원격)

 

1. ssh 접속


▶️ .pem 키파일로 접속하기

형식

ssh -i [keyfile경로] [사용자]@[ip혹은도메인네임]

예시

ssh -i /serverkey/kefile.pem username@127.0.0.1

 

▶️ ssh config 설정으로 접속하기

형식

ssh [설정한 Host이름]

예시

ssh myserver1

 


⭐️ ssh config 설정 방법은 아래글 참고

2024.04.25 - [공공연히 개발하기 🧑‍💻/기타] - [맥,리눅스] 터미널 ssh 설치, 접속, config 설정까지 싹정리 - .pem key

 

2. scp 원격 파일 전송

당연하게도 파일을 주고 받을 곳끼리는 포트포워딩이 완료되어 있어야 한다.
ssh config 설정을 미리 해둔 후의 scp 활용법이다.
ssh config를 미리 설정해두는 것을 추천한다.

▶️ 로컬 → 서버 파일 전송하기

내 로컬에 있는 파일을 서버로 전송할 때

형식

scp [보낼 파일명] [원격지 등록된 호스트이름]:[받을 위치]

예시 1

scp localfile.tar myserver1:~

예시 2

scp localfile2.tar myserver1:/files/myfile/

 

▶️ 서버 → 로컬 파일 전송하기

서버에 있는 파일을 로컬로 전송받을 때 (로컬 터미널에서 수행)

형식

scp [원격지 등록된 호스트이름]:[전송할 파일 경로(서버)] [전송 받을 경로(로컬)]

예시

scp myserver1:/home/username/serverfile.tar /files/myfile/ 

 

▶️ 서버1 → 서버2 파일 전송하기

서버에서 서버로 (원격에서 원격으로) 파일 전송하고 싶다면
먼저 전송할 서버에 ssh 로 접속한 후 scp를 수행하면 된다.

형식

ssh [설정한Host이름]
scp [전송할 파일 경로(서버1)] [전송 받을 서버(서버2)]:[전송 받을 경로(서버2)]

예시

ssh myserver1
scp /myfiles1/server1file.tar myserver2:/home/username2/myfiles2/