[scp]scp란?(윈도우와 리눅스 간의 파일 전송)
Before we go further
윈도우에서 ssh를 활용하여 특정 ip에 비밀번호 없이 접속하는 방법에 대해 작성했었습니다.
Linux ssh 비밀번호 없이 접속하기
그런데 리눅스 서버에 있는 특정 파일을 윈도우로 넘기려 하니 갑자기 막막한 느낌이 들더군요.(
제가 scp에 대해 전혀 모르고 사용했었습니다...)
그런 이유로 간단하게 scp
에 대해 적고 scp
를 이용한 파일 업로드 및 다운로드하는 법에 대해 적어보겠습니다.
SCP란?
Secure Copy로 네트워크가 연결되어 있는 원격지에 파일을 간편하고 안전하게 전송할 수 있는 명령어입니다.
scp
는 ssh
프로토콜과 rcp
의 조합입니다.(rcp는 scp이전의 파일전송 프로토콜입니다.)
그리고 openSSH8.0 배포때 발표 내용 으로 인하여 앞으로는 scp
보다 rsync
와 sftp
사용을 권장하고 있습니다.
참고 : https://hoing.io/archives/6588
https://unix.stackexchange.com/questions/571293/is-scp-unsafe-should-it-be-replaced-with-sftp
우선 모든 명령어는 로컬 컴퓨터에서 작성됩니다.
- 저는 local환경이 Windows이고 원격 환경이 Linux 이므로 보실 때 참고하시길 바랍니다.
- 참고 : https://coconuts.tistory.com/343
Window에서 scp 사용 전 설정
설정 창에서 앱 및 기능 -> 선택적 기능 -> OpenSSH 클라이언트 확인
아래 사진처럼 OpenSSH 클라이언트가 설치 되어 있어야 ssh 기반으로 돌아가는 scp가 실행이 됩니다.
Windows(로컬) -> Linux(원격)
Upload 입니다.
scp [로컬파일경로][파일] [원격계정]@[원격ip/도메인]:[받을경로]
경로는 C:\Users\username 이상의 경로로 해주어야 합니다.
scp -r 옵션을 사용하면 폴더(디렉토리)로 전송이 됩니다.
한번 사용해 보겠습니다.
$ vim test.txt // test.txt를 생성합니다.
$ ll // 파일이 생성 되었는지 확인합니다.
total 6.0K
-rw-r--r-- 1 NC517 197121 282 11월 19 2020 desktop.ini
-rw-r--r-- 1 NC517 197121 5 8월 27 19:14 test.txt
drwxr-xr-x 1 NC517 197121 0 8월 23 11:06 '바로가기 파일들'
$ pwd // 현재 경로를 확인합니다.
/c/Users/NC517/Desktop
// scp로 test.txt를 vm으로 돌아가고있는 localserver에 파일을 전송합니다.
$ scp C:/Users/NC517/Desktop/test.txt root@localhost:/home/eisen
test.txt 100% 5 1.2KB/s 00:00
scp
를 활용한 코드입니다.
scp C:/Users/NC517/Desktop/test.txt root@localhost:/home/eisen
결과
이렇게 파일이 잘 올라가는 것을 볼 수 있습니다.
Linux(원격) -> Windows(로컬)
Download 입니다.
scp [원격계정]@[원격ip/도메인]:[파일] [받을경로]
위치만 바꿔주면 됩니다.
test.txt를 test1.txt로 이름을 바꿔줍니다.
아래 명령어를 실행시킵니다.
scp root@localhost:/home/eisen/test1.txt C:/Users/NC517/Desktop
현재 폴더에 다운받고 싶다면 ./
를 사용하셔도 됩니다.
scp root@localhost:/home/eisen/test1.txt ./
명령어를 실행시키면 아래 이미지와 같이 test1.txt가 생기는 것을 볼 수 있습니다.
실행 code
$ ll
total 6.0K
-rw-r--r-- 1 NC517 197121 282 11월 19 2020 desktop.ini
-rw-r--r-- 1 NC517 197121 5 8월 27 19:14 test.txt
drwxr-xr-x 1 NC517 197121 0 8월 23 11:06 '바로가기 파일들'
$ scp root@localhost:/home/eisen/test1.txt C:/Users/NC517/Desktop
test1.txt 100% 5 2.0KB/s 00:00
$ ll
total 7.0K
-rw-r--r-- 1 NC517 197121 282 11월 19 2020 desktop.ini
-rw-r--r-- 1 NC517 197121 5 8월 27 19:14 test.txt
-rw-r--r-- 1 NC517 197121 5 8월 27 19:25 test1.txt
drwxr-xr-x 1 NC517 197121 0 8월 23 11:06 '바로가기 파일들'
Result
upload : scp C:/Users/NC517/Desktop/test.txt root@localhost:/home/eisen
download : scp root@localhost:/home/eisen/test1.txt ./
Reference
https://coconuts.tistory.com/343
https://hoing.io/archives/6588
https://ko.strephonsays.com/ssh-and-vs-scp-14947
https://unix.stackexchange.com/questions/571293/is-scp-unsafe-should-it-be-replaced-with-sftp
'Languages' 카테고리의 다른 글
[Language] 기본형(Primitive Type)과 참조형(Reference Type) (0) | 2022.11.14 |
---|---|
[RegEx] 정규식 사용하기(vsCode) (0) | 2022.07.26 |
[C] Terminal(mac)에서 간단한 C언어 프로그래밍 하기 (0) | 2022.03.07 |
[Vim] Vim 설정하기(lineNumber 등 표시하기) (6) | 2021.09.16 |
[.NET] 닷넷(.NET)이란? (0) | 2021.07.27 |