Ubuntu Server Rsync 작업_SSH 방식(LightSail)

ℹ️이 콘텐츠에는 광고가 포함되어,판매 발생 시 수익이 발생합니다.(네이버 쇼핑 커넥트, 아마존 어필리에이트, 애드센스 등)

새로 만든 Ubuntu 서버에서 Rsync를 활용해 현재 운영 중인 Alma Linux 서버의 데이터를 동기화하는 작업을 진행해 보겠습니다.

기존 LightSail의 스냅샷만 사용하기에는 웹 사이트 데이터의 실시간 복구가 힘들고, 실시간 복구가 필요한 시점이 되었다고 판단되기에 Rsync 작업을 진행하기로 했습니다. 동일한 Alma Linux보다 거의 사용하지 않았던 Ubuntu를 써 보는 것도 나쁘지 않다고 판단되어 Rsync 작업 서버는 Ubuntu에서 진행합니다.

Ubuntu Server Rsync 작업은 Alma Linux의 웹 사이트 데이터를 가져 오는 방식으로 진행합니다.

✅ Ubuntu Server Rsync 작업

Alma Linux 서버에서 SSH 설정 및 퍼미션을 설정합니다.

리모트 서버(Alma Linux)는 프롬프트가 ' ~]#' 형식으로 로컬 서버인 우분투는 프롬프트가 'ubuntu ~]#' 형식으로 표기됩니다.
-rw-------. 1 ec2-user ec2-user 397 May 31 22:37 authorized_keys
-rw-------. 1 root root 563 May 31 22:37 /root/.ssh/authorized_keys # 공개 키 위치 

 ~]# vi /etc/ssh/sshd_config

# PubkeyAuthentication yes         # 전체 계정 공개키 인증 기능 (기본값 yes) 
PermitRootLogin yes              # root 로그인 허용
AuthorizedKeysFile .ssh/authorized_keys # 공개키 위치 (기본 경로, 이미 활성화) /사용자별 홈디렉토리 참조

:wq
 ~]# systemctl restart sshd
 ~]# ll /root/ -d
dr-xr-x---. 6 root root 4096 Jun  1 00:19 /root/
 ~]# sshd -T | grep pubkeyauthentication
pubkeyauthentication yes

 ~]# chmod 700 /root # 공개키를 사용하여 퍼미션 수정 후에도 문제 없음

🔲 개인키 누락으로 인한 실행 오류

우분투 서버에서 Rsync를 실행합니다.

 ubuntu ~]# rsync --version
rsync  version 3.2.7  protocol version 31

 ubuntu ~]# rsync -avz -e ssh root@5.17.333.123:/home/ /home/backup/
root@5.17.333.123: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(232) [Receiver=3.2.7]

# 접속 오류로 SSH 접속 테스트
 ubuntu ~]# ssh -v root@17.333.123

실행 결과 연결 오류가 발생하여 리모트 서버의 로그를 확인해 봤습니다.

~]# tail -f /var/log/secure
Jun  1 00:19:54 ip-172-26-14-231 sshd[5955]: Server listening on 0.0.0.0 port 22.
Jun  1 00:19:54 ip-172-26-14-231 sshd[5955]: Server listening on :: port 22.
Jun  1 00:20:04 ip-172-26-14-231 sshd[5958]: Connection closed by authenticating user root [45.222.77.123] port 44954 [preauth]
 ubuntu ~]# ll -a .ssh/
total 16
drwx------ 2 root root 4096 May 31 14:58 ./
drwx------ 5 root root 4096 May 31 16:03 ../
-rw------- 1 root root  561 May 31 14:17 authorized_keys
-rw-r--r-- 1 root root  142 May 31 14:58 known_hosts
 ubuntu ~/.ssh]# ll
total 20
drwx------ 2 root   root   4096 May 31 16:38 ./
drwx------ 5 root   root   4096 May 31 16:38 ../
-rw------- 1 root   root    561 May 31 14:17 authorized_keys
-rw-r--r-- 1 root   root    142 May 31 14:58 known_hosts
-rw------- 1 ubuntu ubuntu 1678 May 31 16:38 private key.pem
 ubuntu ~/.ssh]# chown root.root private key.pem
 ubuntu ~/.ssh]# chmod 600 private key.pem

접속하고자 하는 우분투 root 계정에 개인키가 없어 개인키 파일을 업로드한 후에 소유권을 변경해 주었습니다.

🔲 프로토콜 오류

 ubuntu ~/.ssh]# rsync -avz -e "ssh -i /root/.ssh/private key.pem" root@5.17.333.123:/home/ /home/backup/
 
protocol version mismatch -- is your shell clean?
(see the rsync manpage for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(622) [Receiver=3.2.7]

protocol version mismatch 메시지에서 리모트 서버의 프로토콜 오류가 의심됩니다.

 ubuntu ~]# ssh -i ~/.ssh/keyfile.pem root@5.17.333.123
Please login as the user "ec2-user" rather than the user "root".

Connection to 5.17.333.123 closed.

root가 아닌 ec2-user로 로그인 해 달라는 메시지를 확인했습니다.

root 로그인을 위해 ‘Please login as the user’ 문구를 검색합니다.

 ~]# grep -R 'Please login as the user' /root /etc /home
/root/.ssh/authorized_keys:no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ec2-user\" rather than the user \"root\".';echo;sleep 10;exit 142" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCK9jFZjaeN3ArgEeqxgIEwAFy+T2+WQjkmyW4gT5PL/C+5yruhxPS+T1ZuDsxSd8R+zpBxIgg1C+8c+yhZ2B2tqTgxOZYVgRAPIz95d+ZvVhdxDmXMzN8axU1pWifZp34mvxdarMyU+P2xz5QlnAZpj7rFtGFM1JXGNHuP25cj76sUJOYojzjFBYFV4JF2gzFHc+PrEAYug8lbeChx95OHlbEOspgAcFTotEaXAIA26nhlwOOcPEs55wcoVGe/RXepaSvggLNp+QGYa6HeyoE0Y70exxFQ/ZeApQTBVVPhGpNgmmHn0OzjG2phPnbf/Q6lesM3F0nKRyS0LjxedeoP keyfile
grep: /etc/httpd/run/cgisock.663: No such device or address

/root/.ssh/authorized_keys 파일에서 ssh-rsa 이하 파일만 남김니다.

 ~]# vi /root/.ssh/authorized_keys
command="echo 'Please login as the user \"ec2-user\" rather than the user \"root\".';echo;sleep 10;exit 142" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCK9jFZjaeN3ArgEeqxgIEwAFy+T2+WQjkmyW4gT5PL/C+5yruhxPS+T1ZuDsxSd8R+zpBxIgg1C+8c+yhZ2B2tqTgxOZYVgRAPIz95d+ZvVhdxDmXMzN8axU1pWifZp34mvxdarMyU+P2xz5QlnAZpj7rFtGFM1JXGNHuP25cj76sUJOYojzjFBYFV4JF2gzFHc+PrEAYug8lbeChx95OHlbEOspgAcFTotEaXAIA26nhlwOOcPEs55wcoVGe/RXepaSvggLNp+QGYa6HeyoE0Y70exxFQ/ZeApQTBVVPhGpNgmmHn0OzjG2phPnbf/Q6lesM3F0nKRyS0LjxedeoP keyfile


ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCK9jFZjaeN3ArgEeqxgIEwAFy+T2+WQjkmyW4gT5PL/C+5yruhxPS+T1ZuDsxSd8R+zpBxIgg1C+8c+yhZ2B2tqTgxOZYVgRAPIz95d+ZvVhdxDmXMzN8axU1pWifZp34mvxdarMyU+P2xz5QlnAZpj7rFtGFM1JXGNHuP25cj76sUJOYojzjFBYFV4JF2gzFHc+PrEAYug8lbeChx95OHlbEOspgAcFTotEaXAIA26nhlwOOcPEs55wcoVGe/RXepaSvggLNp+QGYa6HeyoE0Y70exxFQ/ZeApQTBVVPhGpNgmmHn0OzjG2phPnbf/Q6lesM3F0nKRyS0LjxedeoP keyfile

문제의 원인은 AWS LightSail에서 root 접속을 제한하고 ec2-user로만 접속이 되게 끔 설정이 되어 있었기 때문입니다.

◻️ 문제 원인 정리:

1. 루트(root) 계정 직접 접속 차단

AlmaLinux 서버에서 root 계정 직접 접속을 막고, 대신 ec2-user 일반 사용자로 접속하도록 설정되어 있음.
→ authorized_keys에 command=”echo ‘Please login as the user \”ec2-user\” rather than the user \”root\”.’;sleep 10;exit 142″ 가 걸려 있었음.

2. authorized_keys에 명령어 제한(command=…) 설정 문제

이 제한 때문에 root로 접속 시 메시지만 출력되고 접속이 종료되어, rsync 등 SSH 명령이 정상 작동하지 않음.

3. SSH 키는 맞으나 권한 제한으로 접속 실패

키는 맞으나 위 제한 때문에 접속 불가 → “Permission denied” 혹은 “Please login as the user…” 메시지 발생.

해결 방법
authorized_keys에서 command=… 부분을 제거해 제한 해제 → root 계정으로 정상 SSH 접속 및 rsync 사용 가능해짐.

✅ 최종 테트

이제 우분투 서버에서 개인 키 파일을 설정해 놨으니 루트 접속도 가능하고

ubuntu ~]# ssh -i ~/.ssh/keyfile.pem root@3.5.17.333.123

Ubuntu Server Rsync 작업을 재 진행하면,

ubuntu ~]# rsync -avz -e "ssh -i /root/.ssh/keyfile.pem" root@3.5.17.333.123:/home/ 
receiving incremental file list
xxx/www/wp-content/ # 

정상적으로 실행이 됩니다.

 ubuntu ~]# rsync -avz -e "ssh -i /root/.ssh/keyfile.pem" --rsync-path="sudo rsync" ec2-user@3.5.17.333.123:/home/ /home/backup

이제 ec2-user로 실행시키는 명령으로 Ubuntu Server Rsync 작업을 진행할 수 있고 기존의 ssd 설정에서 “PermitRootLogin yes”를 비활성화 하고 ec2-user만 사용할 수도 있습니다.

✅ 자동화 설정

crontab에 등록해서 Ubuntu Server Rsync 작업 자동화를 진행합니다.

 ubuntu /usr/local/bin]# vi rsync_backup.sh
#!/bin/bash
echo "=== $(date) ==="
/usr/bin/rsync -avz -e "/usr/bin/ssh -i /root/.ssh/keyfile.pem" root@3.5.17.333.123:/home/ /home/backup
echo

:wq

 ubuntu /usr/local/bin]# chmod 700 rsync_backup.sh 

 ubuntu /usr/local/bin]# crontab -e
SHELL=/bin/bash
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
30 4 * * * /usr/local/bin/rsync_backup.sh
# 로그 확인
2025-06-01T18:22:01.321109+09:00 ip-xxx-xx-xx-163 CRON[2426]: (root) CMD (/usr/bin/rsync_backup.sh )
AWS LightSail 서버 간 작업: Ubuntu Server Rsync 작업

Similar Posts

  • [AWS] LightSail Swap Memory 설정

    워드프레스 블로그를 운영하면서 직접 AWS LightSail로 이전해서 직접 관리하면서 업 중에 메모리 부족 현상을 볼 수 있는 단계가 멀지 않아 Swap Memory 설정의 필요성을 생각하게 되었습니다. LightSail Swap Memory 설정 용량은 4G로 결정했는데 이유는 SSD를 사용하는 서버이기 때문에 HDD에 비해 스왑 메모리에 대한 접근 속도가 빠르기 때문에 성능 저하가 상대적으로 적기 때문입니다.(HDD를 사용하는…

  • OCI: 오라클 클라우드 도메인 연결 방법

    오라클 인스턴스 서버 생성이 되었다면 오라클 클라우드 도메인 연결을 진행 해 보겠습니다. 오라클 클라우드 서버의 고정 아이피는 미리 연결되어 있어야 합니다. 목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로 인한 실행 오류🔲 프로토콜 오류✅ 최종 테트✅ 자동화 설정✅ 오라클 클라우드 도메인 연결 방법 1. 오라클 클라우드 콘솔에 회원 가입 및 VM 인스턴스가 세팅되어 있다면,…

  • 가상 머신(VM)과 하이퍼바이저 2가지 유형과 종류

    가상 머신(Virtual Machine, VM)이란 물리적 하드웨어 시스템에 자체 CPU, 메모리, 네트워크 인터페이스 및 스토리지를 만들어 가상 컴퓨터 시스템으로 작동하는 환경을 뜻 합니다. 가상 머신은 하나의 물리적 시스템에서 각각 다른 자체 ‘운영 체제(OS)’와 애플리케이션을 만들어 운영할 수 있습니다. 목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로 인한 실행 오류🔲 프로토콜 오류✅ 최종 테트✅ 자동화 설정…

  • 오픈스택(OpenStack)이란?

    OpenStack(오픈스택)은 클라우드 리소스를 관리하고, 정의하고, 활용하기 외한 오픈 소스 프레임워크로써 비영리 단체인 오픈인프라스트럭처재단(OIF)(구:오픈스택 재단)에서 운영 중이며, 아파치 라이선스에서 배포됩니다. 2010년 오픈스택 재단은 AWS의 폐쇄성에 대항하는 오픈소스 laaS 오픈스택 프로젝트를 관리합니다. 목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로 인한 실행 오류🔲 프로토콜 오류✅ 최종 테트✅ 자동화 설정 OpenStack 정의 OpenStack은 AWS, Oracle Cloud, Azure와…

  • [AWS] EC2에 EBS 볼륨 추가 방법

    AWS의 EC2에 추가 스토리지가 필요한 경우 EBS 볼륨 추가를 진행하게 됩니다. EBSElastic Block Store는 AWS에서 제공되는 용량에 스토리지 용량을 추가해서 사용할 수 있고 영구적인 데이터 또는 추가 기능이 필요한 경우에 사용하게 됩니다. EBS는 원하는 크기 및 성능 등을 지정할 수 있으며, 사용자가 원할 때 삭제가 가능합니다. 목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로…

  • XenServer: 하이퍼바이저, 가상화

    XenServer는 오픈 소스 Xen 하이퍼바이저(a type-1 / bare-metal hypervisor)를 기반으로 하는 오픈 소스 서버 가상화 플랫폼입니다. 가상화 된 서버 및 클라이언트 운영 체제를 호스팅 하는데 사용되며 베어메탈 서버에 버금가는 성능을 제공합니다. 젠서버는 기본 제품을 오픈소스로 제공하는 Citrix에서 개발했으며 기업 지원과 더욱 광범위한 기능 및 관리 도구를 갖춘 유료 상용 버전을 제공합니다. 사전 패키지된…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 10   +   6   =