티스토리 뷰

반응형

SSH 비밀번호 없이 접속하기 / 리눅스 서버를 NAS에 rsync 백업 동기화


[목차]
1. ssh를 암호 없이 접속하는 방법을 학습 후
2. linux 서버에서 시놀로지 NAS로 rsync 명령어를 crontab에 등록하여 동기화는 방법을 설명합니다.


[환경]
CentOS7 x64
Synology NAS DS1517+ (DSM 6.2.1-23824 Update 6)


[1. ssh, rsync, scp를 암호 없이 접속하는 방법 ]
## 시놀로지 나스 제어판 > 사용자 > 고급 > 사용자 홈서비스를 활성화합니다.


## 시놀로지 나스 제어판 > 터미널 & SNMP 섹션에서 SSH를 활성화합니다.


## 시놀로지 나스 제어판 > 파일 서비스 > rsync 탭에서 RSync를 활성화합니다.


## 시놀로지 나스에 SSH 접속 후 ~/위치에 .ssh폴더를 생성합다.

 

linux@server:~$ cd ~/

linux@server:~$ mkdir .ssh linux@server:~$ ls -al

total 0

drwxrwxrwx+ 1 linux users 8 Mar 30 14:59 .

drwxrwxrwx+ 1 root root 32 Mar 30 14:56 ..

drwxrwxrwx+ 1 linux users 0 Mar 30 14:59 .ssh


## 리눅스 서버에서 아래 명령어로 개인키/공개키를 생성합니다. (만약 이미 가지고 있다면 생성할 필요가 없음)

 

 ssh-keygen -t rsa
암호를 입력하라고 하면 빈 상태로 두고 엔터를 입력하세요.


그리고 아래 명령어로 권한 설정을 합니다. 

chmod 700 ~/.ssh && chmod 600 ~/.ssh/*


그리고 공개키를 나스로 전송합니다

 

ssh-copy-id -i ~/.ssh/id_rsa.pub -p SSH_PORT ADMIN_USER_ONLY@XXX.XXX.XXX.XXX

## 시놀로지 나스에 SSH로 연결합니다.( 비밀번호 입력 필요) 

ssh -p SSH_PORT ADMIN_USER_ONLY@XXX.XXX.XXX.XXX


그리고 권한 설정을 합다.

chmod 700 ~/.ssh && chmod 600 ~/.ssh/*

chmod u=rwx,g=rx,o=rx /volume1/homes/ADMIN_USER_NAME/


그러면 이제 ssh 연결(또는 rsync) 시 암호 없이 접속이 됩니다. 

ssh -p SSH_PORT ADMIN_USER_ONLY@XXX.XXX.XXX.XXX


[2. linux 서버에서 시놀로지 NAS로 rsync 명령어를 crontab에 등록하여 동기화]


rsync 명령어 

rsync -av -e 'ssh -p PORT_RSYNC' ORIGIN/FOLDER/TO/SYNC/ USER@XXX.XXX.XXX.XXX:/volume1/homes/USERNAME/DESTINATION/FOLDER/


crontab 편집

crontab -e
crontab 주기 

*                *                  *               *            * 

분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)


매분 test.sh 실행
* * * * * /script/test.sh
매주 금 오전 5시 30분에 test.sh 실행 

30 5 * * 5 /script/test.sh
매일 매시간 0분, 20분, 30분에 test.sh 를 실행 

0,20,30 * * * * /script/test.sh
매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행 

0-30 1 * * * /script/test.sh

반응형
댓글