설치 가이드 · 5 min read · Sep 21, 2025
AlmaLinux 9에 Syncthing 설치하는 방법

Syncthing은 여러 장치 간에 파일을 안전하게 동기화하도록 설계된 오픈 소스 P2P 파일 동기화 도구입니다. 클라우드 기반 서비스와 달리 Syncthing은 외부 서버에 데이터를 저장하지 않고 장치 간에 직접 작동하여 사용자가 파일과 개인 정보를 완전히 제어할 수 있도록 합니다. Syncthing은 장치 간의 암호화된 통신을 사용하여 데이터가 안전하게 전송되도록 보장합니다. Syncthing은 컴퓨터, 모바일 장치 및 서버 간에 파일을 동기화하는 데 사용할 수 있어 신뢰할 수 있고 개인적이며 실시간 파일 동기화가 필요한 사용자에게 다재다능한 솔루션입니다. 설정이 간단하고 크로스 플랫폼이며 백그라운드에서 실행되어 변경 사항이 감지될 때마다 자동으로 파일을 동기화합니다.
이 가이드에서는 AlmaLinux 9 서버에 Syncthing 소프트웨어를 설치하는 방법을 배우게 됩니다. 또한 두 개의 syncthing 인스턴스 간에 연결하고 syncthing에서 공유 폴더를 설정하는 방법도 배우게 됩니다.
필수 조건
시작하기 전에 다음 사항을 확인하십시오:
- 두 대의 AlmaLinux 9 머신.
- 관리자 권한이 있는 비루트 사용자.
- 허용 모드의 SELinux.
Syncthing 바이너리 파일 다운로드
RHEL 기반 배포판의 경우 바이너리 파일을 통해 syncthing을 수동으로 설치해야 합니다. 최신 버전의 syncthing을 얻으려면 syncthing의 공식 GitHub 페이지를 확인하십시오.
먼저, 아래 명령어를 실행하여 시스템에 curl, wget 및 nano 편집기 패키지를 설치합니다.
sudo dnf install curl wget nano -y
이제 다음 명령어를 사용하여 GitHub 리포지토리에서 syncthing 바이너리 파일을 다운로드합니다.
curl -s https://api.github.com/repos/syncthing/syncthing/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -다운로드가 완료되면 아래 명령어를 사용하여 syncthing tar.gz 파일을 추출합니다. 그런 다음 syncthing 바이너리 파일을 /usr/bin/ 디렉토리로 이동합니다.
tar xvf syncthing-linux-amd64*.tar.gz
sudo mv syncthing-linux-amd64-*/syncthing /usr/bin/마지막으로 아래 명령어를 사용하여 syncthing 바이너리 파일의 위치와 버전을 확인합니다.
which syncthing
syncthing --version다음 출력에 따라 syncthing xxx가 /usr/bin/syncthing에 설치되어 있음을 확인할 수 있습니다.

Systemd 서비스로 Syncthing 실행
Syncthing은 수동으로 실행할 수 있지만, systemd 서비스로 실행하는 것이 더 쉽습니다. systemctl 유틸리티를 사용하여 syncthing 서비스를 제어할 수 있습니다.
다음 nano 편집기 명령어를 실행하여 새 systemd 서비스 파일 /etc/systemd/system/[email protected]을 생성합니다.
sudo nano /etc/systemd/system/[email protected]파일에 다음 구성을 삽입합니다.
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target작업이 끝나면 파일을 저장하고 편집기를 종료합니다.
마지막으로, 가장 중요한 것은 아래 명령어를 사용하여 systemd 관리자를 다시 로드하여 시스템의 변경 사항을 적용하는 것입니다.
sudo systemctl daemon-reloadFirewalld 설정
이제 syncthing을 systemd 서비스로 구성했으므로 firewalld를 통해 syncthing을 위한 포트를 열어야 합니다. 기본적으로 firewalld에는 syncthing 애플리케이션이 포함되어 있으며 쉽게 활성화할 수 있습니다.
아래 명령어를 실행하여 firewalld에서 syncthing 및 syncthing-gui 서비스를 추가하고 활성화합니다.
sudo firewall-cmd --zone=public --add-service=syncthing --permanent
sudo firewall-cmd --zone=public --add-service=syncthing-gui --permanent이제 firewalld를 다시 로드하여 적용하고, firewalld에서 활성화된 서비스 목록을 확인합니다.
sudo firewall-cmd --reload
sudo firewall-cmd --list-all다음 출력에서 syncthing 프로필이 활성화되어 있음을 확인할 수 있습니다.

Syncthing 노드 초기화
동기화 인스턴스를 연결하기 전에 시스템에서 사용자별로 syncthing을 초기화해야 합니다. 이 예에서는 아래에 서로 다른 사용자와 함께 두 대의 AlmaLinux 서버를 사용할 것입니다:
- node1 사용자 tom
- node2 서버 사용자 jerry
이제 아래 명령어를 실행하여 syncthing 서비스를 시작하고 syncthing 설치를 초기화합니다. 사용자 tom을 자신의 사용자 이름으로 변경해야 합니다.
sudo systemctl start [email protected]
syncthing 서비스가 시작되면 새로운 구성 디렉토리 ~/.local/state/syncthing 및 Sync 디렉토리가 생성됩니다. 아래 명령어를 사용하여 확인합니다.
ls -ah ~/Sync
ls -ah ~/.local/state/syncthing/그런 다음, 아래 nano 편집기 명령어를 사용하여 syncthing 구성 ~/.local/state/syncthing/config.xml을 엽니다.
sudo nano ~/.local/state/syncthing/config.xml‘ gui ‘ 섹션 내에서 ‘ tls=false ‘ 옵션을 ‘ tls=true ‘로 변경하여 syncthing에 대한 안전한 액세스를 활성화합니다.
192.168.10.41:8384
GENERATED-API-KEY
default
작업이 끝나면 파일을 저장하고 편집기를 종료합니다.
그런 다음 아래 명령어를 실행하여 syncthing을 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart [email protected]다음으로, 아래 명령어를 사용하여 syncthing 서비스를 활성화하고 확인합니다. enabled 및 active(running)라는 출력을 얻어 syncthing 서비스 상태가 실행 중임을 확인하십시오.
sudo systemctl enable [email protected]
sudo systemctl status [email protected]
Syncthing 사용자 및 비밀번호 설정
이제 syncthing을 시작하고 초기화했으므로, 다음 단계로 syncthing 인스턴스에 대한 사용자 인증을 구성합니다.
시작하기 전에 아래 ss 명령어를 실행하여 포트 8384가 LISTEN 상태인지 확인합니다.
ss -tulpn | grep 8384다음 출력에서 포트 8384가 syncthing에 의해 사용되고 있음을 확인할 수 있습니다.
웹 브라우저를 열고 서버 IP 주소 뒤에 포트 8384를 입력하여 방문합니다(예: https://192.168.5.15:8384/). 설치가 성공적이라면 아래의 환영 페이지를 보게 될 것입니다.
설정 메뉴를 클릭하여 사용자 인증을 설정합니다.

GUI 탭을 클릭한 다음 관리자 사용자 및 비밀번호를 입력합니다. Use HTTPS for GUI 옵션을 체크하는 것을 잊지 마십시오. 변경 사항을 확인하려면 Save를 누릅니다.

이제 syncthing 로그인 페이지로 리디렉션됩니다. 여기에서 사용자 이름과 비밀번호를 입력한 후 Login을 클릭합니다.

구성이 성공적이라면 다음과 같은 syncthing 대시보드를 보게 될 것입니다:

아래에서 node2의 syncthing 대시보드를 볼 수 있습니다.

Syncthing 인스턴스 연결
이 시점에서 두 AlmaLinux 서버에 syncthing 설치를 완료했습니다. 이제 두 syncthing 인스턴스를 연결할 시간입니다. 이는 웹 관리 대시보드를 통해 수행할 수 있습니다.
node1 대시보드에서 Action을 클릭하고 Show ID를 선택하여 노드 ID의 세부 정보를 가져옵니다.

node1 인스턴스의 ID와 QR코드를 볼 수 있습니다. node1 ID를 복사하십시오. 이는 node2 인스턴스에 연결하는 데 필요합니다.

이제 node2 대시보드로 이동하여 Remote Devices 섹션에서 Add Remote Device를 클릭합니다.

node1의 ID를 붙여넣고 이름을 node1으로 입력합니다.

다음으로 Sharing 탭으로 이동합니다. Unshared Folders 섹션에서 Default Folder 옵션을 체크하여 node1에 대상 폴더를 공유합니다.
또한 Auto Accept 옵션을 체크하여 node1이 기본 경로에서 광고하는 폴더를 자동으로 생성하거나 공유하도록 설정합니다.
변경 사항을 확인하려면 Save를 클릭합니다.

node1 대시보드로 돌아가면 node2로부터 요청 메시지가 표시되어야 합니다. Add Device를 클릭하여 확인합니다.

프롬프트가 표시되면 Save를 클릭하여 확인합니다. 또한 node2의 장치 ID를 확인하는 것을 잊지 마십시오.

다음으로 node2 인스턴스가 Default Folder를 공유할 것이라는 알림이 표시됩니다. Share를 클릭하여 확인합니다.

프로세스가 완료되면 node1에서 다음 정보를 볼 수 있습니다:
- Default Folder 경로 /home/tom/Sync가 node2와 Shared입니다.
- Remote Devices 섹션에서 node2의 상태가 Up To Date임을 확인할 수 있습니다.

이제 node2 대시보드를 확인하면 Default Folder가 node1과 공유되었다는 유사한 정보를 볼 수 있습니다. 또한 Remote Devices 섹션에서 node1의 상태가 Up to Date임을 확인할 수 있습니다.

파일 동기화 테스트
이 시점에서 두 syncthing 인스턴스 간의 공유 폴더 구성을 완료했습니다. 이제 두 syncthing 인스턴스 간의 동기화를 확인하기 위해 공유 디렉토리에 새 파일을 생성해 보겠습니다.
node1 서버에서 ~/Sync 디렉토리로 이동하고 다음 명령어를 실행하여 새 파일을 생성합니다.
cd ~/Sync/
touch file{1..50}.txtls -ah
이제 node2 서버로 이동하여 ~/Sync 디렉토리로 가십시오. 그런 다음 ~/Sync 디렉토리의 파일 목록을 확인합니다.
cd ~/Sync
ls -ah동기화가 성공적으로 이루어졌다면 node1 서버에서 생성한 파일을 볼 수 있어야 합니다.
이로써 syncthing 설치가 성공적으로 완료되었습니다.
결론
축하합니다! AlmaLinux 9 서버에 syncthing을 성공적으로 설치했습니다. 또한 syncthing 인스턴스 간의 연결 방법, 공유 폴더 설정 방법 및 syncthing 인스턴스의 동기화를 확인하는 방법을 배웠습니다.
이제 더 많은 장치를 추가하고 현재 인스턴스에 연결하여 여러 장치 간의 파일 공유 및 동기화를 활성화할 수 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.