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

  • Oracle VCN: 오라클 가상 클라우드 네트워크

    오라클 클라우드 Free Tier 계정 생성 후 OIC에 로그인이 되어 있는 상태에서 Oracle VCN을 진행할 수 있습니다. 오라클의 VCN(Virtual Cloud Network)은 사용자가 클라우드 내에서 가상의 프라이빗 네트워크를 구축하고 관리할 수 있도록 해주는 서비스입니다. 기존의 데이터 센터 네트워크 환경과 동일하게 네트워크 환경을 제어할 수 있습니다. 목차✅ Ubuntu Server Rsync 작업🔲 개인키 누락으로 인한 실행…

  • 오픈스택(OpenStack)이란?

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

  • VirtualBox 호스트 키 설정

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

  • AWS 패스키 생성

    아마존 웹 서비스를 이용할 때 강력한 보안을 위해 다중 인증(MFA) 설정을 필수 사항으로 강제하고 있습니다. 하드웨어 TOTP 토큰, 인증 앱, 패스키 또는 보안 키 설정 중에 하나를 선택해야 합니다. 이 중 AWS 패스키를 생성해서 사용하는 방법으로 진행하기로 했습니다. 이유는 보안성과 편의성을 모두 만족시키는 인증 방식이기 때문에 AWS 패스키이기 때문입니다. OTP 입력보다 간편하고 빠르며,…

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

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

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

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

답글 남기기

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

Prove your humanity: 10   +   9   =