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

  • |

    오라클 클라우드 ping 오류[VM 인스턴스]

    오라클 클라우드 VM 인스턴스에서 고정 IP 설정까지 진행했지만 ping을 입력해도 요청 시간 만료로 timeout 오류가 되면서 응답이 없는 오류가 계속 발생했습니다. 오라클 클라우드 ping 오류를 해결하는 방법은 다음과 같습니다. 목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로 인한 실행 오류🔲 프로토콜 오류✅ 최종 테트✅ 자동화 설정오라클 클라우드 ping 오류 해결하기 방화벽 설정에서 VCN 설정을…

  • VirtualBox 록키 리눅스 설치 방법[Rocky Linux Ver 9.3]

    Oracle VM VirtualBox 록키 리눅스 설치를 진행해 보겠습니다. VirtualBox가 설치되어 있지 않다면 먼저 설치를 진행해야 합니다. 목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로 인한 실행 오류🔲 프로토콜 오류✅ 최종 테트✅ 자동화 설정 ✅ 록키 리눅스 ISO 다운로드 받기 x86_64 DVD 버전으로 ISO 이미지를 다운로드 받아 줍니다. ✅ VirtualBox 록키 리눅스 설치 설치된 VirtualBox…

  • 오라클 클라우드 무료 서버 사용 방법 | 상시 무료 클라우드 서비스 스펙

    CentOS, 록키리눅스, 우분투, 오라클 리눅스 등의 서버를 무료로 사용할 수 있는 오라클 클라우드 무료 서비스에 대해 알아 보겠습니다. 오라클 클라우드 프리티어(Oracle Cloud Free Tier)는 Infrastructure 제품과 절대 만료되지 않는 상시 무료 프로모션 체혐판 2가지가 제공됩니다. 기존의 AWS는 1년 동안 750시간의 무료 서비스를 이용할 수 있고 관리하는 웹사이트의 서버 사용을 고민할 수는 있지만 테스트…

  • VMware 다운로드 및 무료 버전 설치하기[윈도우]

    윈도우에 리눅스를 설치하는 경우 가상 머신(Virtual Machine, VM)을 이용하게 되며, 가상화를 위한 하이퍼바이저 프로그램이 필요합니다. 하이퍼바이저인 VMware 다운로드 및 설치 방법에 대해 알아 보겠습니다. 기본적으로 VMware는 결제 후 유료 사용이 가능하지만 설치해서 사용하게 될 프로그램은 VMware Workstation Player 제품으로 개인 사용자에게 무료로 사용할 수 있는 VMware 무료 버전입니다. 목차✅ Ubuntu Server Rsync 작업🔲…

  • [AWS] EC2 인스턴스란?

    아마존 웹 서비스(AWS)에서 제공하는 클라우드 컨퓨팅 서비스 EC2 인스턴스는 Elastic Compute Cloud라는 뜻을 가지고 있습니다. 탄적적인 뜻을 가진 Elastic의 단어에서 알 수 있듯이 AWS 서비스에서 탄력적으로 운영 가능한 클라우드 컴퓨터라고 할 수 있습니다. Instance는 가상 머신(Virutal Machine)을 뜻 하며, 일반적인 사례, 경우의 영어 뜻과 다르게 IT 인프라에서는 실행중인 임의의 프로세스, 클래스에 생성된 오브젝트를…

  • [AWS] LightSail Swap Memory 설정

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

답글 남기기

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

Prove your humanity: 7   +   1   =