local 서버에서 remote 서버에 파일을 올리고 받을 때는 주로 FTP를 사용하지만, 시스템을 설정하고 테스트하고 잦은 파일 교환 작업을 할 때는 GUI툴을 사용하지 않고 local에서 파일을 복사하듯이 사용해야 할 때가 있다. SSH를 통해서 scp 명령으로 안전하고 간단하게 파일을 복사할수 있다.
$ scp <옵션> <원본 경로 및 파일> <복사 받을 곳 경로 및 파일>
명령어
옵션
Remote 서버 경로
local 서버 경로
1. Remote 서버에 파일 올리기
$ scp -P 22 /home/myhome/abc.tar oracle@123.456.78.9:/home/oracle/
abc.tar 파일을 123.456.78.9 서버의 22번 포트로 SSH 접속하여 oracle 사용자로 로그인 한 후 /home/oracle/ 아래에 복사한다.
2. Remote 서버에서 파일 받기
$ scp -P 22 root@123.456.78.9:/usr/local/abc.xml /home/oracle/
remote 서버의 abc.xml 파일을 local의 /home/oracle로 다운로드 받는다.
SSH포트는 변경하는 경우가 많으므로 -P 옵션 사용했고, 서버 주소와 디렉토리의 구분은 콜론(:)을 사용한다. 원격지의 home 주소는 “./”를 사용해도 된다.
Ex) root@123.456.78.9:./
자주사용하는 옵션
-P : 포트번호 지정
-p : preserve의 약자로 원본 파일 시간의 수정시간, 사용시간, 권한을 유지한다.
-r : recursive의 약자로 하위 폴더/파일 모두 복사한다.