IT Story/서버관리
SSH 비밀번호 없이 접속하기 / 리눅스 서버를 NAS에 rsync 백업 동기화
행복한소식까치
2024. 3. 8. 14:56
반응형
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
반응형