시놀로지 SSH 보안, 공개키 기반 로그인

SSH 서비스 접속 포트를 변경하자

기본은 22번인데, 2만번대 이후 포트로 변경하자. 포트 변경하면 접속 방법은 아래와 같다

PowerShell <span role="button" tabindex="0" data-code="ssh @ -p” style=”color:#2e3440ff;display:none;background-color:#d8dee9ff” aria-label=”Copy” data-copied-text=”Copied!” data-has-text-button=”textSimple” data-inside-header-type=”simpleString” aria-live=”polite” class=”code-block-pro-copy-button”>Copy
<span class="line"><span style="color: #D8DEE9FF">ssh </span>
<span style="color: #81A1C1"><</span>
<span style="color: #D8DEE9FF">id</span>
<span style="color: #81A1C1">></span>
<span style="color: #D8DEE9FF">@</span>
<span style="color: #81A1C1"><</span>
<span style="color: #D8DEE9FF">도메인</span>
<span style="color: #81A1C1">></span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #81A1C1">-</span>
<span style="color: #D8DEE9FF">p</span>
<span style="color: #81A1C1"><</span>
<span style="color: #D8DEE9FF">포트번호</span>
<span style="color: #81A1C1">></span></span>

SSH 비밀번호 접근 대신에 공개키 기반으로 변경하자

자신이 주로 사용하는 PC나 노트북에서 ssh key를 생성하고, 공개키를 시놀로지에 복사하면 된다.

PowerShell <span role="button" tabindex="0" data-code='ssh-keygen -t rsa -C "”‘ style=”color:#2e3440ff;display:none;background-color:#d8dee9ff” aria-label=”Copy” data-copied-text=”Copied!” data-has-text-button=”textSimple” data-inside-header-type=”simpleString” aria-live=”polite” class=”code-block-pro-copy-button”>Copy
<span class="line"><span style="color: #D8DEE9FF">ssh</span>
<span style="color: #81A1C1">-</span>
<span style="color: #D8DEE9FF">keygen </span>
<span style="color: #81A1C1">-</span>
<span style="color: #D8DEE9FF">t rsa </span>
<span style="color: #81A1C1">-</span>
<span style="color: #D8DEE9FF">C </span>
<span style="color: #ECEFF4">"</span>
<span style="color: #A3BE8C"><도메인 이름></span>
<span style="color: #ECEFF4">"</span></span>

이렇게 입력하면 rsa 방식의 레이블이 인 공개키/개인키가 생성된다. 귀찮으면 아래처럼 해도 무방

PowerShell Copy
<span class="line"><span style="color: #D8DEE9FF">ssh</span>
<span style="color: #81A1C1">-</span>
<span style="color: #D8DEE9FF">keygen</span></span>

공개키를 시놀로지에 저장하자

이렇게 공개키 생성하면, 보통 자신의 메인 폴더 밑 .ssh 폴더에 id_rsa 파일과 id_rsa.pub 파일이 생성된다.
id_rsa가 개인키이고, id_rsa.pub이 공개키다. 공개키를 시놀로지에 옮겨주면 된다.
우선 시놀로지에 id_rsa.pub을 옮기고, 공개키를 저장하자.

Bash <span role="button" tabindex="0" data-code="cat /id_rsa.pub >> ~/.ssh/authorized_keys cat ~/id_rsa.pub >> ~/.ssh/authorized_keys” style=”color:#2e3440ff;display:none;background-color:#d8dee9ff” aria-label=”Copy” data-copied-text=”Copied!” data-has-text-button=”textSimple” data-inside-header-type=”simpleString” aria-live=”polite” class=”code-block-pro-copy-button”>Copy
<span class="line"><span style="color: #88C0D0">cat</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #81A1C1"><</span>
<span style="color: #A3BE8C">공개키</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">위</span>
<span style="color: #D8DEE9FF">치</span>
<span style="color: #81A1C1">></span>
<span style="color: #A3BE8C">/id_rsa.pub</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #81A1C1">>></span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">~/.ssh/authorized_keys</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">cat</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">~/id_rsa.pub</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #81A1C1">>></span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">~/.ssh/authorized_keys</span></span>

이렇게 하면 authorized_keys에 공개키가 저장된다.

공개키 권한 변경하자

홈 디렉토리와 .ssh 폴더, 그리고 authorized_keys 파일까지 권한을 변경하자

Bash Copy
<span class="line"><span style="color: #88C0D0">sudo</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">chmod</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #B48EAD">700</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">~</span></span>
<span class="line"><span style="color: #88C0D0">sudo</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">chmod</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #B48EAD">700</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">~/.ssh</span></span>
<span class="line"><span style="color: #88C0D0">sudo</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">chmod</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #B48EAD">600</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">~/.ssh/authorized_keys</span></span>

시놀로지의 ssh 설정을 변경하자

ssh로 시놀로지에 접속한 다음에, 아래 명령어로 ssh 설정을 변경한다. 변경한 후에는 sshd를 재실행 시킨다.

Bash <span role="button" tabindex="0" data-code=" sudo vi /etc/ssh/sshd_config PubkeyAuthentication yes # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 # but this is overridden so installations will only check .ssh/authorized_keys AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication yes” style=”color:#2e3440ff;display:none;background-color:#d8dee9ff” aria-label=”Copy” data-copied-text=”Copied!” data-has-text-button=”textSimple” data-inside-header-type=”simpleString” aria-live=”polite” class=”code-block-pro-copy-button”>Copy
<span class="line"><span style="color: #81A1C1"><</span>
<span style="color: #D8DEE9FF">vi 편집기로 ssh 설정파일 편집</span>
<span style="color: #81A1C1">></span></span>
<span class="line"><span style="color: #88C0D0">sudo</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">vi</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">/etc/ssh/sshd_config</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1"><</span>
<span style="color: #D8DEE9FF">아래 항목은 주석을 삭제</span>
<span style="color: #81A1C1">></span></span>
<span class="line"><span style="color: #88C0D0">PubkeyAuthentication</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">yes</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88"># The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2</span></span>
<span class="line"><span style="color: #616E88"># but this is overridden so installations will only check .ssh/authorized_keys</span></span>
<span class="line"><span style="color: #88C0D0">AuthorizedKeysFile</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">.ssh/authorized_keys</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1"><</span>
<span style="color: #D8DEE9FF">아래 항목은 주석 처리</span>
<span style="color: #81A1C1">></span></span>
<span class="line"><span style="color: #88C0D0">PasswordAuthentication</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">yes</span></span>

이렇게 처리하면, 공개키의 위치와 공개키로 접속이 가능하다.
단, 포트 번호는 기존과 동일하게 적어줘야 한다.
혹시나 문제가 생겼을때에는 시놀로지에서 telnet 서비스를 잠깐 서비스 켜고, 텔넷 접속해서 설정 변경하고 다시 텔넷 서비스는 끄자.

Bash <span role="button" tabindex="0" data-code=" sudo synosystemctl restart sshd.service” style=”color:#2e3440ff;display:none;background-color:#d8dee9ff” aria-label=”Copy” data-copied-text=”Copied!” data-has-text-button=”textSimple” data-inside-header-type=”simpleString” aria-live=”polite” class=”code-block-pro-copy-button”>Copy
<span class="line"><span style="color: #81A1C1"><</span>
<span style="color: #D8DEE9FF">sshd 서비스 재시작</span>
<span style="color: #81A1C1">></span></span>
<span class="line"><span style="color: #88C0D0">sudo</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">synosystemctl</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">restart</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">sshd.service</span></span>

그러면, 비밀번호 입력없이 공개키 기반으로 바로 접속이 된다.
개인키는 소중히 다루자.


0 0 votes
글 만족도 평가하기
guest
1 답글
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
위로 스크롤
1
0
Would love your thoughts, please comment.x