YGH

[홈서버 만들기] 3. 원격관리

2020년 11월 16일

개요

SSH란 Secure Shell의 약자로써 직역시 안전한 쉘이라는 의미이다.

우분투 서버 운영체제는 명령어를 입력해서 관리하는데 명령어 입력하는 것을 터미널 또는 쉘이라고 생각하면 된다.

어느 곳이든지 인터넷만 연결되어 있다면 홈서버로 접속해서 명령어를 입력해 관리할 수 있게끔 해준다.

설치

우분투 운영체제를 설치할 때 체크 한번만 하면 자동으로 설치할 수 있게끔 되어있었고 이전 챕터를 똑같이 따라했다면 자동으로 설치되어 있을 것이니 아래를 무시하고 다음으로 넘어가면 된다.

만약 설치를 하지 않았더라면 아래 명령어를 실행하면 된다.

$ sudo apt update
$ sudo apt install openssh-server

명령어 앞에 sudo를 붙임으로써 관리자 권한으로 명령어를 실행할 수 있고 처음 sudo를 사용할 경우 계정 비밀번호 입력을 요구한다.

apt install 명령어를 실행하면 무엇을 설치할 것인지 보여주고 계속 진행할 것인지 물어본다.

이때 y를 입력해주면 된다.

내부접속

서버와 같은 공유기에 연결 되어있는 윈도우 PC를 사용해서 접속을 해보면 된다.

윈도우에서 접속을 할 때 사용하는 프로그램으로는 PuTTY가 있다.

https://www.putty.org/

자신의 윈도우 운영체제 비트에 맞게 다운받으면 된다.

서버 내부 아이피를 입력하고 접속해보자.

서버 내부 아이피를 모를 경우 이 다음 부분인 포트포워딩을 먼저 하면 내부 아이피를 알 수 있을 것이다.

아이디 입력 후 엔터를 누르면 비밀번호 입력하라고 뜬다.

비밀번호를 입력할 때에는 보안상 터미널에 표시되지 않으니 문제가 생겼다고 걱정하지 않아도 된다.

정상적으로 접속된 것을 확인할 수 있다.

처음 접속하면 대략적인 서버 상황을 알려주는데 2개의 업데이트와 0개의 보안 업데이트가 있다고 알려주며

apt list –upgradeable 명령어로 업데이트들을 확인할 수 있다고 한다.

마지막 로그인은 192.168.0.3에서 2020년 8월 12일 오후 1시 4분 5초에 접속된 것을 확인할 수 있다.

이렇게 접속된 것을 확인했으면 홈서버에 연결 되어있는 모니터, 키보드를 빼도 된다.

하지만 SSH는 서버를 직접 관리할 수 있는 강력한 기능이므로 보안설정을 해줄 것인데 방화벽 등의 설정을 잘못하다가 접속이 안될 경우 모니터와 키보드를 다시 연결해야 하는 불상사가 생기니 주의하길 바란다.

네트워크 구성

우선 네트워크 구성부터 파악하는 것이 좋기 때문에 간략하게 예를 들어보자.

우선 네트워크 구성부터 아는 것이 좋다.

공유기는 iptime을 쓰고 거기에 tv, pc, 노트북, 홈서버 등이 연결되어 있다고 가정해보자.

DHCP서버인 공유기는 연결되어 있는 모든 장치의 IP를 유동적으로 주게 된다.

홈서버의 IP는 유동적이지 않는 것이 좋다.

iptime 공유기를 예를 들어 DHCP중 홈서버의 IP를 고정시키는 법과 포트 포워딩을 직접 해보면서 개념을 알아보자.

만약, iptime 공유기와 같이 내부 IP 지정 설정을 지원하지 않는다면 우분투 운영체제에서 직접 아이피를 수동으로 입력해줘야한다.

수동으로 주는 작업은 구글에 검색해보길 바라며 필자는 다루지 않을 것이다.

홈서버 IP 고정

우선 DHCP서버 역할을 담당하는 공유기에 접속을 해야 한다.

PC나 노트북에서 접속하는 방법과 스마트폰으로 접속하는 방법 2가지를 알아보자.

PC로 공유기접속

홈서버와 같은 공유기에 연결되어 있는 데스크톱 또는 노트북에서 윈도우 + R 키를 누르고 실행창은 켠 뒤 명령프롬프트를 실행한다.

> ipconfig /all

명령어를 입력한 후 게이트웨이 또는 DHCP 서버를 확인하자.

와이파이 비밀번호 설정하러 들어와 본 사람들이 있을 것이다.

아까 확인한 공유기 주소를 인터넷 주소창이 입력한 후 접속한 뒤 아이디, 비밀번호, 로봇방지문자를 입력한 후 로그인을 하자.

처음 접속하는 경우에는 기본값인 admin:admin 이라고 표시 될 텐데 만약 기억이 나질 않을 경우 iptime 공유기 초기화 방법을 구글에 검색하면 나온다.

관리도구 > 고급 설정 > 네트워크 관리 > DHCP 서버 설정으로 들어간다.

홈서버가 켜져 있을 경우 IP를 자동으로 준 것이 리스트에 뜰 것이다.

우분투 설치 과정 중 말했던 컴퓨터 이름으로 식별할 수 있으니 홈서버 해당 란을 클릭한다.

아이피 끝자리를 2로 준 이유는 공유기와 함께 항상 켜져 있을 컴퓨터이기 때문에 편의상 준 것이지 꼭 이렇게 할 필요는 없다.

입력 후 수동 등록을 누르면 등록된 주소 관리 란에 추가된 것을 확인할 수 있다.

서버가 사용중인 IP와 등록된 IP가 다르다면 홈서버의 본체 버튼을 한번 눌러 종료한 후 완전히 꺼지면 다시 눌러서 켠다.

내부 네트워크 설정 항목을 계속 누르면서 홈서버의 아이피가 등록한 IP대로 뜨는지 확인한다.

확인될 경우 홈서버의 내부 IP고정을 끝이다.

스마트폰으로 공유기 접속

PC와 같은 장비가 없다면 와이파이가 연결되어있는 스마트폰으로도 접속 가능하다.

iptime 공유기를 사용할 경우 아래 주소로 들어가면 된다.

http://192.168.0.1

공유기가 iptime이 아니라면 [WiFi 설정 창]에서 연결된 WiFi를 클릭한 후 [공유기 관리] 탭을 선택하면 접속이 된다.

포트포워딩

포트 포워딩을 위해서는 포트 라는 개념을 알아야 하는데 여기서는 포트를 문에 비유를 하겠다.

공유기, 홈서버 모두는 인터넷 쪽을 바라보고 각자의 1~65535번의 문을 가지고 있다.

시나리오를 가정해서 포트포워딩을 이해해보자.

  1. 외부에서 A가 공유기의 22번 문(SSH)을 통해 들어왔다.
  2. 그러면 공유기는 자신이 들고 있는 포트포워딩이라는 책을 보고 22번 문(외부 포트)으로 들어오면 홈서버(내부 IP)의 22번 문(내부 포트)로 가라고 알려준다.

공유기는 기본적으로 모든 문을 닫고 있고 홈서버인 우분투 서버는 모든 문을 열어놓고 있다.

아까 내부에서 접속했을 때 공유기를 거치긴 했지만 공유기의 문이 바라 보는 곳은 외부 이기 때문에 내부 네트워크 상에서는 접속이 가능한 것이었다.

네트워크 구성을 보면 알겠지만 외부에서 접속을 할 때는 우분투 서버가 모든 문을 열어 뒀다고 해서 들어갈 수 있는 것이 아니다.

공유기의 문부터 거쳐야 하는데 공유기의 모든 문은 기본적으로 닫혀 있기 때문이다.

따라서 포트포워딩이라는 책에 규칙을 추가함으로써 공유기의 22번 문이 개방된 것이고, 이 문으로 들어오는 접속들은 홈서버의 22번 문으로 들어가게끔 길을 만들어 주었다.

보안상 문은 기본적으로 모두 닫혀 있고 필요한 것만 열어 두는 것이 좋기 때문에 이후에 iptables를 이용한 방화벽 작업을 해주어 우분투 서버의 문을 모두 닫고 필요한 것만 열어 볼 예정이다.

이제 아래와 같이 포트포워딩이라는 책에 SSH란 이름으로 22번 문으로 들어오는 접속들을 홈서버의 22번 문으로 보내준다고 작성하자.

시스템 요약 정보로 들어가면 공유기가 가지고 있는 외부 IP주소가 확인될 것이다.

이 IP주소를 이용해 외부에서 홈서버로 접속을 해보도록 하겠다.

내부 접속 때 처럼 PuTTY 프로그램을 통해 접속해보자.

내부 접속 때 처럼 잘 되었다면 성공이다.

이제 외부에서 인터넷이 연결된 곳이면 어디서든 홈서버를 관리할 수 있게 되었다.

혹시 스마트폰으로 접속하여 홈서버를 관리하고 싶다면 필자가 직접 사용해본 2가지 어플을 추천한다.

JuiceSSH는 처음 접한 어플인데 인터페이스도 상당히 직관적이며 사용하기 매우 편리하다.

사용 중 SSH터널링 기능(서버 포트와 내부 포트를 연결 해 주므로써 포트포워딩 없이 외부에서 편리하게 접속이 가능하게 하는 기능)이 필요해서 ConnectBot으로 갈아탔지만 인터페이스가 좀 불편하게 되어있어서 불편함을 감수하고 사용중이다.

  1. JuiceSSH: https://play.google.com/store/apps/details?id=com.sonelli.juicessh&hl=ko&gl=US
  2. ConnectBot: https://play.google.com/store/apps/details?id=org.connectbot&hl=ko&gl=US

하지만 외부에서 접속이 가능하게 된 순간부터 세계 각 국의 이름모를 해커들이 계속 홈서버로 접속하기 위해 자동으로 SSH 로그인 시도를 하고 있다.

다음 챕터에선 본격적으로 터미널을 사용해보고 보안에 설정을 해보자.