리눅스 기반의 홈 서버 구축하기 (2)
이번 포스팅에서는 원격 접속이 가능하도록 SSH 설정과 함께, 보안 강화를 위해 방화벽 설정을 진행하겠습니다.
이전 포스팅을 먼저 참고하시면, 더 큰 도움이 될 수 있습니다.
1. SSH 설정
1-1. OpenSSH Server 설치 및 실행
먼저 SSH 설정을 위해 apt 업데이트 및 OpenSSH Server
를 설치합니다.
1
2
sudo apt-get update
sudo apt-get install openssh-server
설치가 완료되면 SSH 서비스가 자동으로 실행됩니다.
정상적으로 실행중인지 확인하기 위해 아래 명령어를 입력합니다.
1
sudo systemctl status ssh
만약 서비스가 실행되고 있지 않다면, start
명령어로 서비스를 시작합니다.
또한, 재부팅 이후에도 SSH 서버가 자동 시작될 수 있도록 서비스를 enable
합니다.
1
2
sudo systemctl start ssh
sudo systemctl enable ssh
1-2. SSH 보안 강화 (선택)
OpenSSH Server는 기본 22번 포트를 사용합니다.
보안을 더욱 강화하기 위해 SSH 포트를 다른 포트로 변경할 수 있습니다.
SSH 포트 변경을 위해서는 다음 파일에서 포트 정보를 설정해주어야 합니다.
1
sudo vim /etc/ssh/sshd_config
아래와 같이 Port
가 주석처리 된 채로 되어있을텐데, 주석 해제 후 원하는 포트를 입력하거나 아래에 새로운 포트를 입력합니다. (예시에서는 2222)
1
2
3
4
5
6
7
8
9
10
11
12
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
Include /etc/ssh/sshd_config.d/*.conf
#Port 22
Port 2222
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
이후 SSH 서비스를 재시작하면 변경된 포트로 SSH 접근이 가능해집니다.
1
sudo systemctl restart ssh
2. 방화벽 설정
Ubuntu에서는 UFW(Uncomplicated Firewall)
를 사용하여 방화벽을 설정합니다.
먼저 UFW 설치를 위해 아래 명령어를 실행합니다.
1
sudo apt-get install ufw
설치가 완료되면 UFW를 활성화 합니다.
1
sudo ufw enable
UFW를 활성화 하는 순간 모든 외부 접속이 차단되기 때문에, 특정 포트에 대한 규칙 허용이 필요합니다.
먼저 SSH 접속을 허용하기 위해 아래 명령어로 22번 포트를 허용합니다.
1
sudo ufw allow ssh
아래와 같이 특정 포트 및 프로토콜에 대해 규칙을 지정하여 허용하는 것도 가능하니, 자유롭게 설정하시길 바랍니다.
1
2
sudo ufw allow 2222
sudo ufw allow 2222/tcp
위에서 SSH 포트 번호를 변경한 경우, 꼭 해당 포트를 허용해주세요.
3. 원격 접속 확인
SSH와 방화벽 설정이 끝났다면, 원격 접속을 시도해볼 차례입니다.
이전 포스팅에서 설정한 고정 IP를 함께 활용하여 아래 명령어로 원격 접속을 시도합니다.
1
ssh <유저 이름>@<고정 IP 주소> [옵션: -p <포트 번호>]
아래는 예시입니다.
1
2
ssh myuser@192.168.0.100
ssh myuser@192.168.0.100 -p 2222
마무리
이번 포스팅에서는 SSH와 방화벽 설정을 통한 원격 접속 방법에 대해 다뤄보았습니다.
다음 포스팅은 포트포워딩과 도메인 할당으로 찾아뵙도록 하겠습니다.
감사합니다.