우분투를 설치했으니 이제 문을 만들어줘야 한다. 그 역할을 하는게 SSH
다.
서버 설치는 완료했지만, 지금 상태로는 밖에서 접근할 수 없다. 원격으로 접속할 수 있도록 설정을 해주어야 한다. 이를 위해 필요한 것이 SSH
이다.
먼저, ssh-server
를 설치해야 한다.
sudo apt install openssh-server -y
위 명령어를 입력하자.
여기서 -y
는 모든 질문에 자동으로 yes를 해주는 옵션이다.
(Ubuntu 설치 과정에서 OpenSSH server를 설치했다면 넘어가도 된다.)
이제 원격으로 접속이 가능하다.
putty를 사용해도 좋고, terminal에서 접속해도 좋다.
ssh {계정 ID}@{서버 내부 아이피}
위 명령어를 입력하여 서버 내부 아이피로 접속해보자.
서버 내부 아이피는 주로 192.168.0.X
, 172.30.1.X
등
공유기 설정 접속 주소와 비슷하고, 비밀번호는 Ubuntu 설치 과정에서 입력한 계정 비밀번호이다.
접속을 확인했다면 서버 장치에서 키보드, 모니터 등을 제거하고 어딘가에 전시해두면 된다.
(가끔 보안 설정이나 네트워크 설정 등이 꼬여서 직접 접속해야 하는 불상사가 발생히도 한다. 경험담임)
하지만 서버 내부 아이피로는 같은 네트워크 내에서만 접속이 가능
하다.
서버 내부 아이피는 공유기에서 유동적으로 재설정 하기 때문에 불편한 점이 많다.
따라서, 공유기에서 서버의 IP를 고정해주는 작업이 필요하다. 마치 AWS에서 탄력적 IP를 사용하는 것이라고 생각하면 된다.
공유기 종류마다 설정 방법이 다르기 때문에 검색이 필요하지만, 흐름은 모두 비슷하기에 아래 자료를 참고해도 좋다.
장치 설정 → 네트워크 관리 → LAN 연결 설정
→ 수동 IP 할당 설정 → 타겟 MAC 주소 입력 → 할당 IP 설정 → 추가
고급 설정 → 네트워크 관리 → DHCP 서버 설정
→ 사용중인 IP 주소 정보 → 홈 서버 선택 → 수동 주소 입력(하단)
→ 수동 IP & 타켓 MAC 주소 입력 →수동 등록
설정이 끝나면 고정 아이피 주소
로 접속이 가능할까? 아니다. 여전히 같은 네트워크 내에서만 접속이 가능하다.
두 가지가 필요한데,
하나는 나의 외부 아이피 주소
를 알아야 하고, 다른 하나는 포트 포워딩
이다.
SSH 연결을 위한 포트를 열어줘야 연결이 가능하다. 이해를 돕기 위해 그림을 보자.
네트워크에서 외부 아이피 주소(공인 IP)를 통해 우리집으로 위치를 알고,
특정 포트를 통해 들어오면, 그걸 내부 아이피 주소(사설 IP)와 연결해서 내 서버로 접속을 이어주는 것이다.
참고자료
SSH는 22번 포트를 주로 사용하지만, 그러면 무작위 공격이 많이 들어오기 때문에 나는 다른 번호(7777)를 SSH 포트로 설정하였다.
장치 설정 → 트래픽 관리 → 포트 포워딩 설정 → 정보 입력 → 추가
입력해야하는 정보
- 외부 포트: 외부에서 들어오는 포트 번호
- 내부 IP 주소: 고정해준 내부 아이피
- 내부 포트: 내부로 연결해줄 포트 번호
- 프로토콜: TCP
- 설명: 포트의 용도(선택)
고급 설정 → NAT/라우터 관리 → 포트포워드 설정 → 정보 입력
입력해야하는 정보
- 규칙이름: 포트 용도(선택)
- 내부 IP주소: 고정해준 서버의 내부 아이피
- 프로토콜: TCP
- 외부포트: 외부에서 들어오는 포트 번호
- 내부포트: 내부로 연결할 포트 번호
여기까지 설정을 완료했다면 비로소 아무데서나 서버로 원격 접속이 가능하다.
ssh -p 7777 {계정 ID}@{외부 아이피}
이 명령어를 통해 접속을 확인하자. (외부 아이피 주소는 이곳에서 확인 가능하다.)
지금은 내 외부 아이피만 알면 접속 시도를 계속해서 할 수 있다. 로그를 아주 잠깐 확인해봐도 매크로를 돌리는 착한..친구들이 엄청나게 접속을 시도하는 것을 볼 수 있다. 즉, 이러한 공격들을 막기 위한 보안 설정이 필요하다.
(실제로 하루도 안되는 시간동안 140마리의 착한…친구들을 잡아냈다.)
여러 친구들이 찾아오는 걸 보면 맛집이네요 ㅋㅋ,,