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

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

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

  • LightSail 윈도우 서버 2022 인스턴스 시작 | 원격 데스크톱 연결

    AWS에서 LightSail은 생성할 수 있는 서버 스펙에 한해 EC2보다 서버를 만드는데 5분 정도의 짧은 시간이면 원하는 서버를 만들 수 있습니다. LightSail 윈도우 서버 생성 후 원격 데스크톱 연결까지 진행 해 보겠습니다. 목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로 인한 실행 오류🔲 프로토콜 오류✅ 최종 테트✅ 자동화 설정✅ LightSail 윈도우 서버 생성 먼저 LightSail에서…

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

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

  • Oracle VM VirtualBox: 다운로드 및 설치

    목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로 인한 실행 오류🔲 프로토콜 오류✅ 최종 테트✅ 자동화 설정1. Oracle VM VirtualBox란? Oracle VM VirtualBox는 기업 및 가정용으로 사용할 수 있는 강력한 x86 및 AMD64/Intel64 가상화 제품입니다. VirtualBox는 기업 고객을 위한 기능이 매우 풍부한 고성능 제품일 뿐만 아니라 GNU General Public License(GPL) 버전 3의 조건에 따라…

  • VirtualBox 호스트 키 설정

    버추얼박스(VirtualBox) 가상 머신을 실행하는 중 [현재 호스트 키는 Right control입니다.] 라는 내용을 확인할 수 있습니다. VirtualBox 호스트 키 설정을 다시 해야 합니다. 이유는 가상 머신 설치 중 호스트 키 설정이 [오른쪽 Ctrl]이라고 되어 있는 경우 한국은 컨트롤 키가 기본 한문으로 잡혀 있어 변경을 해 주는 좋습니다. 가상 머신 안에서 마우스를 클릭했거나 호스트 키를…

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

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

답글 남기기

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

Prove your humanity: 0   +   2   =