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