LainyZine: 프로그래머 가이드 🐣

Synology NAS에 SSH 서버 활성화하고 접속하는 방법

Synology NAS에서는 전용 OS인 Synology DSM(DiskStation Manager)을 사용합니다. DSM은 리눅스 기반의 운영체제로 현재 최신 버전은 2021년 6월 공개된 7.0 버전입니다. DSM은 웹 브라우저에서 사용할 수 있는 웹OS를 제공하고 있으며, NAS의 IP로 접속해 손쉽게 사용할 수 있습니다.

NAS는 웹OS를 사용할 수 있는 스토리지 공유에 최적화된 장비입니다만, 다르게 바라보면 디스크 기능이 강화된 리눅스 서버이기도 합니다. 여느 리눅스 서버와 마찬가지로 OpenSSH 서버를 실행하고, SSH 클라이언트로 서버에 접속해서 작업을 하는 것도 가능합니다. 이 글에서는 DSM에서 OpenSSH 서버를 활성화하고 SSH로 접속하는 방법을 소개합니다.

Synology DSM에서 SSH 서버 활성화하는 방법

웹OS나 SSH로 Synology NAS를 사용하려면 먼저 네트워크 상에 설치된 NAS의 IP를 알아야합니다. 이미 알고 있다면 그 IP를 사용해도 무방합니다만, 정확한 IP를 모른다면 Synology Assistant를 사용해 먼저 NAS의 IP를 확인해주세요.

별도의 설정을 하지 않았다면 NAS IP의 5000번 포트로 웹OS로 접근할 수 있습니다. 관리자 계정으로 로그인하고 좌측 상단의 시작 버튼을 누르고 제어판을 찾아 실행해줍니다.

시작 버튼을 클릭하고 제어판을 찾아 엽니다

제어판에서 터미널 및 SNMP 설정을 찾아 클릭합니다.

제어판에서 터미널 및 SNMP 설정을 엽니다

터미널 및 SNMP 설정 첫 번째 ‘터미널’ 탭에서 OpenSSH 서버를 활성화할 수 있습니다. ‘SSH 서비스 활성화’ 체크 박스에 체크하고, 포트를 입력합니다. SSH 포트는 기본적으로 22번을 사용합니다만, 퍼블릭 네트워크에서는 무차별 대입 공격(brute force attack) 대상이 될 수 있으므로 다른 포트를 사용하는 게 일반적입니다. 안전한 홈 네트워크 환경이라면 22번 포트를 써도 무방합니다만, 잘 모르겠다면 2022나 2222 같은 포트를 지정해주세요. 여기서는 2022를 지정했습니다.

터미널 탭에서 SSH 서비스 활성화를 체크하고 적용합니다

안전한 SSH 서버 사용을 위한 접근 제한 설정

보안 설정을 위해 좌측 사이드바에서 보안(터미널 및 SNMP 바로 위)을 선택하고 보호 탭으로 이동합니다. 여기서 특정 시간 동안 n번 이상 로그인 시도가 실패하면 자동으로 IP를 차단하는 보호 기능을 활성화할 수 있습니다. 아래 예시에서는 5분간 10번 로그인 시도를 하면 IP가 차단되어 웹OS나 SSH 접속이 불가능해집니다.

홈 네트워크 안에서는 접속이 차단되지 않도록 허용/차단 목록도 수정해보겠습니다.

보안 -> 보호 탭 -> 허용/차단 목록으로 이동합니다

허용/차단 목록 버튼을 클릭하고, 팝업이 뜨면 허용 목록(첫 번째 탭)에서 생성 버튼을 클릭합니다. NAS의 IP가 192.168.0.39라고 가정해보겠습니다. 일반적으로 공유기에 연결된 홈 네트워크에서는 192.168.0.x 대역의 IP를 사용합니다. NAS의 IP에서 39 부분을 0으로 변경하면 192.168.0.0이 됩니다. IP 주소 추가 팝업 창에서 서브넷을 선택하고 IP 주소에 이 값을 입력합니다. 서브넷 마스크는 24를 입력합니다. 이는 192.168.0로 시작하는 홈 네트워크의 모든 IP를 허용한다는 의미입니다.

여기서는 일반적인 공유기 기반의 홈 네트워크를 가정하고 설명하였습니다만, 네트워크 환경에 따라서 설정은 달라질 수 있습니다. 홈 네트워크의 기본적인 구성에 관심이 있다면 아래 글을 참고해주세요.

홈 네트워크의 192.168.0.0/24만 접근을 허용합니다

이 내용을 저장해주면 홈 네트워크의 장비는 여러 번 로그인에 실패해도 차단하지 않습니다.

SSH 접속 테스트

이제 홈 네트워크의 다른 PC에서 접속을 테스트해보면 됩니다. 운영체제 별로 다음 애플리케이션이나 같은 기능을 하는 가상 터미널 앱을 실행해주세요.

다음 명령어로 SSH 서버에 접속할 수 있습니다.

ssh -p [SSH_PORT] [NAS_ID]@[NAS_IP]

예를 들어 NAS IP가 192.168.0.39이고, ID가 lainyzine, SSH 포트는 2022로 설정했다면 다음과 같이 실행하면 됩니다. Password를 물어보면 일단 SSH 서버가 동작하고 있다는 의미입니다. NAS 계정의 비밀번호를 입력해줍니다.

$ ssh -p 2022 lainyzine@192.168.0.39
lainyzine@192.168.0.39's password:

Synology strongly advises you not to run commands as the root user, who has
the highest privileges on the system. Doing so may cause major damages
to the system. Please note that if you choose to proceed, all consequences are
at your own risk.

lainyzine@my-synology-nas:~$ 

로그인에 성공하면 가능하면 root 계정을 사용하는 것을 권장하지 않는다는 경고 메시지가 나타납니다. 이어서 NAS 셸의 프롬프트가 나타납니다. 이제 SSH로 NAS에서 작업하면 됩니다.

윈도우의 경우 PowerShell에 ssh 명령어가 없는 경우, PowerShell을 관리자 권한으로 실행해서 OpenSSH 클라이언트를 먼저 활성화해주어야합니다.

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

SSH에서 root 계정 사용하는 방법

SSH에 관리자 계정(administrator 그룹에 속해있는 계정)으로 접속하고 sudo -i를 실행합니다. 계정의 Password를 입력하면 root로 사용자가 바뀝니다.

lainyzine@my-synology-nas:~$ sudo -i
Password:

root@my-synology-nas:~$ sudo -i

root 계정 사용에 대한 더 자세한 내용은 Synology 공식 문서를 참고해주세요.

LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.