최근에 보안에 신경을 쓰고 있다.
여러 국가에서 내 나스에 자주 접속시도를 한다. 볼 것도 없는데…
그래서, 집 공유기(IPTIME)를 외부에서 접속 가능하도록 사용했었는데 이제 막았다.
얼마 전, ssh 공개키 기반의 접속을 설정한 것과 같이 터널링을 써서 공유기에 접속하도록 변경했다.
링크: https://vividian.net/시놀로지-ssh-보안-공개키-기반-로그인/
이 방법은 집에 공유기가 있고, 공유기에 나스가 물려있을 때 사용하는 방법이다.
원하는 동작
- 외부에서 공유기에 접속하고 싶다.
- ssh 터널링
- 웹브라우저에서 공유기 접속
사전 설정
- 나스에서 SSH 서비스 활성화
- SSH 접속 포트 변경, 20000번대 이후로
- SSH 공개키 기반 세팅
- 공유기에서 SSH 접속포트, 포트포워딩 설정
터널링 설정
Bash
<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: #616E88">### 아래 항목 yes로 변경</span></span>
<span class="line"><span style="color: #88C0D0">AllowTcpForwarding</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">yes</span></span>
<span class="line"></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</span></span>
sshd_config 파일을 열고, AllowTcpForwarding 항목을 yes로 변경한다.
그리고, sshd 서비스 재시작
터널링으로 ssh 접속
Bash
<span role="button" tabindex="0" data-code="예:
ssh -L 8080:192.168.0.1:80 @ -p
입력 예:
ssh -L 8080:192.168.0.1:80 admin@synologyblog.com -p12345
결과:
평소처럼 ssh에 접속 됨” 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">예:</span></span>
<span class="line"><span style="color: #88C0D0">ssh</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">-L</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #B48EAD">8080</span>
<span style="color: #A3BE8C">:192.168.0.1:80</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #81A1C1"><</span>
<span style="color: #A3BE8C">아이</span>
<span style="color: #D8DEE9FF">디</span>
<span style="color: #81A1C1">></span>
<span style="color: #A3BE8C">@</span>
<span style="color: #81A1C1"><</span>
<span style="color: #A3BE8C">나스</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">IP</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">or</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">도메</span>
<span style="color: #D8DEE9FF">인</span>
<span style="color: #81A1C1">></span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">-p</span>
<span style="color: #81A1C1"><</span>
<span style="color: #A3BE8C">포트번호</span>
<span style="color: #81A1C1">></span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">입력</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">예:</span></span>
<span class="line"><span style="color: #88C0D0">ssh</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">-L</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #B48EAD">8080</span>
<span style="color: #A3BE8C">:192.168.0.1:80</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">admin@synologyblog.com</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">-p12345</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">결과:</span></span>
<span class="line"><span style="color: #88C0D0">평소처럼</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">ssh에</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">접속</span>
<span style="color: #D8DEE9FF"> </span>
<span style="color: #A3BE8C">됨</span></span>
ssh 접속할 때처럼 접속이 된다.
8080: 웹브라우저에서 접속하는 포트이고,
192.168.0.1: 모두가 아는 공유기 접속 주소다. (집에서 접속할 때 내부망)
80: 공유기에 80 포트(웹브라우저)로 접속
그러면, 웹브라우저 켜고, localhost:8080 을 입력하면 아래처럼 접속된다.
8080은 위에 ssh 접속할 때, 작성한 8080과 동일

끝.
예전에는 외부에서 공유기 접속할 때, 간단하 포트 치고 들어갔었는데, 뭔가 불편해졌지만, 뭐 감수해야지. 그런데 아이피타임은 왜 2채널 인증 옵션이 없는지 의아하다. 외부에서 집에 있는 공유기로 접속하는 경우가 많이 없어서인가??