블로그 이미지
Rootrator
1개를 알면 모르는 10개가 튀어나온다..!

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2011. 4. 5. 15:54 Linux

ssh로 특정서버에 접근을 하게 되면 패스워드를 묻는게 정상이다.

하지만 ssh-keygen을 통해 발급받은 인증키를 서버에 저장해 놓으면 따로 패스워드 인증없이 ssh가 가능하며,

이를 통해서 rsync(rsync는 ssh를 이용한다.)를 crontab에 두어 사용이 가능하다.

rsync는 서버의 데이터를 보내는 방식이 아닌 가지고 오는 방식이다.

따라서 rsync설정은 데이타를 가져와야 하는 서버에서 설정해야 맞다.

데이타 원본이 있는 서버를 A서버

데이타를 받아야 하는 서버를 B서버 라 하겠다.

ssh는 암호화 말고 개인키와 공개키를 이용하여 인증을 한다.

이 방법은 인증키 생성후 서버에 두어 패스워드 인증을 거치지 않는다.

이제 공개키를 생성해 보자.

[root@serverB ~]# ls -al | grep .ssh
drwx------  2 root root  4096  4월  5 14:51 .ssh

이 디렉토리가 없다면 한번이라도 ssh접속을 안한 서버이거나 실수로 지웠다거나...
아무튼 해당 디렉토리로 이동하자

[root@serverB ~]# ssh-keygen -t rsa

-t옵션은 생성하는 파일의 타입을 정하는 옵션이다.

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[ENTER]
Enter passphrase (empty for no passphrase):[ENTER]
Enter same passphrase again:[ENTER]
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

이제 생성된 파일중에 id_rsa.pub파일의 내용을 복사하고

A서버에서 이 키값을 입력한다.

[root@serverA ~]# cd .ssh
[root@serverA ~]# vi authorized_keys


rsync는 root로 작업하기 때문에 root의 홈디렉토리 아래에 있는 .ssh폴더에 넣어두었다.

이제 암호인증없이 ssh 접속이 가능케 되었다.


이제 서버에서 rsync설정을 해두자

먼저 A서버에서 /etc/xinet.d/rsync 에서 disable을 no로 설정하여 활성화 후에 xinetd를 재시작한다.

[root@serverA ~]# service xinetd restart

rsync는 기본으로 873포트를 사용하지만.. 기껏 ssh인증다 해놓고 다른 포트 쓰긴 그렇다..

이제 B서버에서 rsync를 crontab에 등록해 두자.

rsync -azrt -e ssh --delete 서버A IP:/데이타 원본 경로 /동기화할 경로/

옵션에 대해 알아보면

-a : 아카이브 모드. 링크, 속성, 퍼미션 등이 그대로 보존이 된담.
-v : 진행상황을 보여줌
-z : 전송이 압축하여 전송
-r : 하위 디렉토리 포함
-l : 심볼릭 링크 재생성
-p : 퍼미션 업데이트
-t : 변경 시간 그대로 보존(옵션이 없으면 전송시간으로 변경됨)
-g : 그룹속성 보존
-u : 추가된 파일만 전송
-b : 낡은 파일일 경우 ~를 붙임
-e : ssh를 사용시 뒤에 ssh를 붙혀줌
--delete : 원본서버에 없는 파일은 클라리언트에서도 삭제
--existing : 추가된 파일은 제외하고 갱신된 파일만 전송
--exclude : 지정된 디렉토리를 제외


대충 이렇다...

끝.!

반응형

'Linux' 카테고리의 다른 글

FTP 상위디렉토리 접근차단  (0) 2011.04.06
crontab  (0) 2011.04.05
가상호스트의 2차도메인에 접속되지 않을때  (0) 2011.03.28
bind (네임서버) 사용하기  (0) 2011.03.28
[펌] 아파치에서 Redirection 사용하기  (0) 2011.03.04
posted by Rootrator