[CentOS 7] scp로 원격 파일 전송하기
2019. 11. 14. 21:15ㆍCentOS 7/Basic
반응형
scp, scure copy
서버간 파일을 전송할 때 사용하는 명령어.
scp usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 ... [[user@]host2:]file2
- local에서 remote server로 파일 업로드
1-1) username과 ip주소, 그리고 비밀번호를 이용하여 파일 업로드
1-2) username과 호스트주소, 그리고 비밀번호를 이용하여 파일 업로드
2-1) username과 호스트주소, 그리고 키파일로 파일 업로드
2-2) .ssh config파일을 이용하여 호스트 별명으로 파일 업로드 - remote server로부터 local로 파일 다운로드
1. ssh 로 원격서버에 파일 전송하기 (local → remote)
scp [옵션] 보낼파일 사용자@호스트:도착지경로
- 옵션 : 필요에 따라 사용한다.
- -i : identity_file. ssh 접속에 이용되는 키파일
만일 비밀번호를 사용하지 않고 ftp전송하고 싶다면 키파일을 설정해 줘야 합니다. - -r : 전송할 대상이 폴더일 경우 이용
- -P : ssh
- -i : identity_file. ssh 접속에 이용되는 키파일
- 보낼 파일 : 절대 경로 또는 상대 경로를 포함한 파일의 fullname을 작성하면 됩니다.(로컬에서 보낼 파일)
- 도착지경로 : 파일을 보낼 (원격 서버의) 도착지 경로.
- 경로 작성 예
- ~/box : 사용자의 홈디렉토리에 위치한 box 디렉토리
- /usr/local/cherry/test : 절대 경로로도 지정 가능
- 경로 작성 예
1-1) 키파일을 사용하지 않고 전송 (ip 주소로)
scp /Users/jini/Pictures/white.png jini@133.xxx.xxx.18:~/box
jini@133.xxx.xxx.18\'s password:
white.png 100% 934 11.2KB/s 00:00
-i 옵션으로 키파일을 설정하지 않는다면, 다음 행에서 사용자의 접속비밀번호를 요구합니다.
비밀번호를 올바르게 입력할 경우 파일이 전송됩니다.
1-2) 키파일을 사용하지 않고 전송 (호스트 주소로)
scp /Users/jini/Pictures/gift.png jini@jiniworld.me:~/box
jini@jiniworld.me\'s password:
gift.png 100% 6731 38.0KB/s 00:00
ip주소에 호스트주소가 할당되어있다면, 호스트 주소를 이용해도 동일한 동작을 합니다.
2-1) 키파일을 이용하여 전송
scp -i ~/.ssh/cherry.pem ~/Pictures/like.png jini@jiniworld.me:~/box
like.png 100% 5615 16.9KB/s 00:00
키파일을 이용하여 비밀번호를 사용하지 않고 전송해보자.
※ Windows 10의 경우 홈디렉토리(~
)를 %HOMEPATH%
로 이용하면 됩니다.
2-2) ssh config 설정을 이용하여 ssh 접속 간편화
만일, jini@jiniworld.me 라는 주소를 자주 이용할 거 같다면, 로그인된 사용자의 홈디렉토리
/.ssh/config 에 접속정보를 저장하여 간단하게 이용할 수 있다.
만일, 현재 로그인 중인 User의 홈 디렉토리에 .ssh 디렉토리가 존재하지 않다면 생성해주세요.
cd ~ mkdir .ssh vim config
config 파일은 아래와 같이 작성합니다.
Host cherry HostName jiniworld.me User jini Port 22 IdentityFile ~/.ssh/cherry.pem
- Host : 간편화한 호스트명 alias
- HostName : 호스트 주소 또는 ip 주소
- User : 호스트 주소에 로그인 가능한 user
- Port : ssh 접속에 이용되는 포트 (22는 default로 생략 가능하다.)
- IdentityFile : ssh 접속에 이용될 키파일
scp ~/Pictures/blue.png cherry:~/box
blue.png 100% 230 2.6KB/s 00:00
config 파일에 등록한 ssh 접속정보를 이용하여 위와 같이 간단하게 scp 명령어를 이용할 수 있습니다.
-i ./.ssh/cherry.pem jini@jiniworld.me
를 cherry로 대체합니다.
파일이 잘 전송되었는지 확인해봅시다.
ssh cherry Last login: Thu Nov 14 20:21:15 2019 from xx.xxx.xxx.xxx [jini@cherry ~]$ ll box 합계 24 -rw-r--r-- 1 jini jini 230 11월 14 20:22 blue.png -rw-r--r-- 1 jini jini 6731 11월 14 20:24 gift.png -rw-r--r-- 1 jini jini 5615 11월 14 20:23 like.png -rw-r--r-- 1 jini jini 934 11월 14 18:18 white.png
config파일에 설정한 호스트정보를 이용하여 ssh 접속을 하고, box 디렉토리 내에 존재하는 파일이 출력됩니다.
2. ssh 로 원격 서버로부터 파일 받기 (remote → local)
만약 원격 서버로부터 파일을 받고 싶다면,
scp [옵션] 사용자@호스트:보낼파일 도착지경로
- 옵션 : 필요에 따라 사용한다.
- -i : identity_file. ssh 접속에 이용되는 키파일
만일 비밀번호를 사용하지 않고 ftp전송하고 싶다면 키파일을 설정해 줘야 합니다.
- -i : identity_file. ssh 접속에 이용되는 키파일
- 보낼 파일 : 원격 서버로부터 받을 파일의 경로를 포함한 파일의 fullname을 작성하면 됩니다. (상대경로는 사용자의 홈디렉터리 기준입니다.)
- 도착지경로 : 받은 파일을 저장할 위치. (로컬)
scp -r cherry:~/box ~/Pictures/test/. blue.png 100% 230 2.6KB/s 00:00 gift.png 100% 6731 75.8KB/s 00:00 like.png 100% 5615 63.5KB/s 00:00 white.png 100% 934 10.5KB/s 00:00 ll ~/Pictures/test total 48 drwxr-xr-x 6 jini staff 192 11 14 20:37 . drwx------+ 8 jini staff 256 11 14 20:37 .. -rw-r--r-- 1 jini staff 230 11 14 20:37 blue.png -rw-r--r-- 1 jini staff 6731 11 14 20:37 gift.png -rw-r--r-- 1 jini staff 5615 11 14 20:37 like.png -rw-r--r-- 1 jini staff 934 11 14 20:37 white.png
cherry 서버에 저장했었던 파일들을 다시 클라이언트의 test 폴더에 받았습니다.
++ 키워드
- scp를 이용한 ssh 파일 전송
- ssh를 사용한 파일 전송
- .ssh config 설정을 통한 scp 명령어 간편화
- scp 명령어를 이용한 원격 파일 복사
728x90
반응형
'CentOS 7 > Basic' 카테고리의 다른 글
[Suricata 5] 1. CentOS 7에 suricata 5 설치하기 (0) | 2020.07.10 |
---|---|
[CentOS 7] timedatectl을 이용하여 서버의 timezone 변경하기 (0) | 2020.03.20 |
[CentOS 7] ntpdate 명령어를 이용하여 NTP 서버와 시간 동기화 (0) | 2020.02.26 |
[CentOS 7] history 명령어로 사용한 명령어 확인 및 재사용 (0) | 2020.01.03 |
[CentOS 7] 새로운 디스크 추가하기(mount) (0) | 2019.09.25 |