팝업레이어 알림

팝업레이어 알림이 없습니다.

Memory

HOME > 공지사항

CentOS 라즈베리파이 원격백업 ssh rsync lsyncd

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 21,597회 작성일 22-09-20 18:50

본문

라즈베리파이4B CentOS7.9 그리고 RockyLinux 8.6 에 ssh rsync lsync 설정함.


ssh rsync lsync

리눅스에서 데이터를 백업 또는 동기화 하는 용도로 사용한다.


원격 백업시 22 port를 사용하기도 하나 보안 문제로 포트를 변경하는 것을 권장한다. 


ssh, rsync lsync 설치되어 있는지 확인한다.

설치 확인  --> rpm -qa | grep xinetd

설치 확인  --> rpm -qa | grep rsync

설치 확인  --> rpm -qa | grep lsyncd 


ssh, rsync lsync 설치한다. 

설치  --> yum -y install xinetd 

설치  --> yum -y install rsync 

설치  --> yum -y install lsyncd 


root 계정을 기준으로 .ssh폴더를 생성한다. 

chmod 700 .ssh

cd .ssh 

ssh-keygen 실행

907e05faffc14f50d10c8d2c2f41b51e_1665939148_1913.png
 

.ssh/Vieste Vieste.pub 화일 생성 (디폴트 설정은 id_rsa id_rsa.pub) 

cat /root/.ssh/Vieste.pub 의 내용을 복사


타켓서버 root 기준임

mkdir .ssh

chmod 700 .ssh

cd .ssh

touch authorized_keys

nano authorized-keys  --> 클라이언트서버에서 만들어진 Viest.pub 내용을 복사한다.


ssh 접속 

ssh 22번 포트 사용시 

ssh root@아이피 -i ~/.ssh/Vieste


ssh포트를 변경하는 경우

nano /etc/ssh/sshd_config 

Port 11111 <-- 사용자가 원하는 포트번호로 수정한다.

04990dac6ddf31e66c868290d7226208_1665558867_5979.png
 


ssh 포트 변경시 접속 

ssh -p 11111 root@아이피 -i ~/.ssh/Vieste


rsync 접속

22번 포트 사용시

rsync -avz /home/소스디렉토리 원격사용자@아이피:/home/타켓디렉토리


22번이 아닌 사용자 포트 사용시

rsync -avzP -e 'ssh -p 포트번호' /home/소스디렉토리/ 원격서버사용자@아이피:/home/타켓디렉토리


--------------------------------------------------------------------------------------------------------------------------------------------


아래 내용으로 config 생성함 


Host lsyncd-user   <-- (이 항목은 주관적임)

 Host 아이피번호

 User 유저   <--- (접속자 계정)

 IdentityFile ~/.ssh/???   <-- (키젠으로 생성한 키)


저장 후

ssh -p 포트번호 alias(별명) 으로 접속 테스트 한다.


보안 문제로 별도로 설정한 ssh 포트 사용시 ssh -p 포트번호 순으로 접속하면 된다. 


rsync -avzP -e 'ssh -p포트번호' 경로명(source) 호스트명또는IP번호:경로(target)  내보내기 

rsync -avzP --delete --stats -l -t -e "ssh -p포트번호" 호스트명또는IP번호:경로(target) 경로명(source) 가져오기


nano /etc/lsyncd.conf

settings {

     logfile = "/var/log/lsyncd/lsyncd.log",

     statusFile = "/var/log/lsyncd/lsyncd-status.log",

     statusInterval = 2,

}

 sync { 

    default.rsyncssh,

    source="/root/.ssh/momjoa",

    host="아이피주소",

    targetdir="/root/.ssh/momjoa",

    delete=true,

    delay=1, -- 1초

    rsync={

        rsh ="/usr/bin/ssh -p 11111 -l root -i /root/.ssh/Vieste",

        archive=true,

        acls = true,

        verbose = true,

        update = true,

        owner = true,

        group = true,

  },

        exclude= { "*.bak", "*.tmp", "*.swp" }

}


lsyncd /etc/lsyncd.conf 

taile -f /var/log/lsyncd/lsyncd.log


계정의 사용자 디렉토리 삭제가 되면 bash 로 사용자가 표기가 된다. 

필요한 화일은 skel 안에 있는 복사하면 된다.

cp -r /etc/skel/. .

chown -R  계정.계정 .




 


댓글목록

등록된 댓글이 없습니다.