[Linux, CentOS] 서버 SSH 접근환경 만들기
- Computer/기타
- 2022. 1. 27.
[Linux, CentOS] 서버 SSH 접근환경 만들기
내부 서버 연결하기 전
기존 Naver Cloud를 사용하다가 계속해서 늘어나는 비용 문제로 인해 내부 개발서버를 사용하게 되었다.
이를 해결하기 위해서 SSH 연결이 필요했고, Linux 내에서 CentOS 연결방법에 대해 작성하게 되었다.
CentOS와 IPTime을 사용한다.
현재의 IP를 구분
hostname -I
현재, 서버에 접근 가능한 IP를 hostname -I 명령어로 간단하게 확인할 수 있다.
이를 확인하는 이유는 기본(Default)은 IP가 수시로 변동되기 때문에 고정 ip를 해야 하는 과정에 있다.
그리고 연결과정에서 기존의 설정을 확인하기 위해 확인하는 명령어이며, 연결 과정에서 수시로 IP 체크하기 때문에 필수로 알아야 한다.
고정 IP 입력, 변경하기
cd /etc/sysconfig/network-scripts
vi ifcfg-eno1
본 내용은, IP 변경 과정 중 일부이다.
eno는 보통 1부터 시작하여, eth0이 아닌, eno1부터이다.
변경할 부분은 빨간 네모로 구성된 5개의 부분이다.
2번 BOOTPROTO
13번 DNS1
14번 IPADDR
15번 PREFIX
16번 GATEWAY
여기에 대해 수정을 해주면 된다.
번호는 :set nu 하면 생겨난다.
위 과정을 무사히 마쳤다면 network만 재시작하면 된다.
systemctl restart network
■ BOOTROTO
값 | 결과 |
dhcp | IP 자동할당 |
none | 고정 IP (고정, 지정) |
처음 접속한다면, 기본값은 dhcp로 지정되어 있다. 고정 IP를 사용하고 싶다면 none로 변경해준다.
IP와 서브넷 마스크, 게이트웨이, DNS는 주어진 IP를 그대로 입력하면 된다.
IP 입력하기
위 내용을 보고 그냥 입력한다면, 이 부분은 스킵해도 된다.
필자는 초심자이고, 이 부분을 헷갈릴 수 있기 때문에 작성하였다.
- 고정 IP를 어디에 할당하였는가?
- 서버에다가 할당하였는가?
- 공유기에다가 할당하였는가?
고정 ip를 할당받는다면 대표적으로 위와 같이 나누어진다.
고정 ip를 서버에 할당할 경우, 고정 IP를 제공하는 부서, 관리실 등 불러주는 대로 입력해주면 된다.
공유기에 고정 IP를 할당했을 경우, 공유기 포트 포워딩으로 제공하는 IP를 입력하면 된다.
필자가 포트 포워딩으로 만들어진 ip이며, 만약 공유기에 할당했고 포트 포워딩을 하지 않았다면 먼저 포트 포워딩부터 해야 한다.
포트 포워딩으로 구해진 192.168.0. ★★★ 대역을 사진처럼 입력하면 된다.
■ ip 입력하기 간단한 Tip
이름 | 설명 |
DNS1 | 현재 사용 중인 IP의 연결지점이다. 고정 IP를 제공 받았을 경우, 보통 여기까지 알려준다. 공유기 사용할 경우 보통 192.168.0.1 이다. DNS1이 아닌 DNS2가 필요한 경우, DNS1 아래에 DNS2 입력후 DNS1처럼 입력하면 된다. |
IPADDR | 우리가 보통 알고 있는 IP 이다. 고정 IP 혹은 포트포워딩으로 받은 IP를 여기에 입력한다. |
PREFIX | 서브넷마스크이다. 255.255.255.0을 24로 기준으로 하여 설정한다. 이는 네트워크 초심자의 지식이 좀 필요하다. 끝 자리가 128 = 25 192 = 26 눈치 챘겠지만 256 -> 128 -> 64 -> 32 순서로 더한다. 몇 번째까지 더했냐에 따라서 숫자가 정해진다. |
GATEWAY | 현재 IP의 기준, 라우팅 하는 장소이다. 만약 같은 게이트웨이를 사용한다면 복잡한 과정 없이 쉽게 접근할 수 있다. |
이 부분에 대해 모르겠다, 입력 못하겠다 한다면 고정 IP를 어디에 부여했는가부터 되짚어봐야 한다.
서버에 할당했을 경우, 그대로 입력!
공유기에 할당했을 경우, 공유기에서 포트 포워딩부터 알아보자.
network 재부팅
systemctl restart network
버전에 따라서 명령어는 다를 수 있다. 반드시 재부팅 후 맨 처음 알려준 명령어 hostname -I를 통해서 ip를 확인하자.
연결 확인하기
1. 개발서버 내에서 게이트웨이에 ping 날리기
ping 192.168.0.1
ping [주어진 게이트웨이 ip]
사용 중인 게이트웨이에서 현재 ip까지의 연결 상태를 알 수 있다.
보통 DNS까지 ping을 찍어서 확인하지만, 공유기는 dns와 게이트웨이가 같으므로 한 번만 사용했다.
ip문제, LAN선 문제를 이 과정에서 확인할 수 있다.
2. curl ifconfig.me / 외부 고정 ip 연결 확인하기
curl ifconfig.me
1번이 성공되었다면, 2번 과정으로 확인한다.
공유기 포트 포워딩이 되었을 경우, 공유기에 물려있는 고정 IP가 출력이 된다.
입력 결과가 안 나올 경우, 대부분 고정 IP 입력 부분이 잘못된 상태이다.
3. tcpdump -nni eno1 icmp && tcpdump -nni eno1 port 22
tcpdump -nni eno1 icmp
tcpdump -nni eno1 port 22
위 명령어를 통해 외부에서 연결 시 기록이 등록이 된다.
둘 중 하나의 명령어를 실행한 후에, 외부에서 해당 서버로 접근해보자.
그러면 결과가 출력이 된다.
아무 반응이 없다면, 서버와 연결은 안 된 상태이다.
연결이 안 된다면.
1. 고정 IP 제공하는 곳의 방화벽 로그 확인하기
서버에 도달하기 위해 제공된 고정 IP 쪽에서 혹시 모를 방화벽 정책 사항에 대해 간단히 알아보자. (구체적으로는 보안 문제가 있어서 안 알려 줄 수 있다.) 통과 로그가 있는지, 막힌 포트가 있는지만 간단한 질문이면 된다. 이들이 정책이 없어요, 막는 거 없습니다. 하면 그냥 넘어가면 된다.
2. 서버 내 방화벽
netstat -nap | grep LISTEN
보통 22 port로 원격 접속하고, 22번은 웬만하면 모두 열려있다. 그러나 안 열려 있을 수 있으니 명령어를 입력해서 port 여부를 확인해보자.
기본적으로 0.0.0.0 ::22가 있다면, 열려있다는 뜻이다.
3. 공유기 사용 시, 공유기와 서버 간의 LAN선 연결 확인하기.
서버와 공유기는 반드시 LAN선으로 연결되어 있어야 한다.
LAN선이 연결되어 있지 않는다면 게이트웨이에 조차 ping을 보낼 수가 없다.
4. 할당된 ip, 포트 포워딩이 ip 충돌 현상인지 확인하기
현재 사용하고 있는 ip가 다른 곳에서 사용 중인 경우, 공유기가 해당 ip를 판단 못 할 수가 있다.
그러므로 연결은 성공되었지만, 접근이 되지 않을 경우에 IP를 변경해서 다시 한번 시도해보자.
필자는 IP 충돌로 인해 접근조차 되지 않았다.
마무리
본 내용을 처음 접한다면, 매우 어렵지만 알고 보면 쉽기도? 하다.
같은 실수를 반복하지 않기 위하여 이 블로그를 작성하게 되었다.
'Computer > 기타' 카테고리의 다른 글
[CentOS] GPG key retrieval failed: [Errno 14] curl#60 (0) | 2022.02.08 |
---|---|
[공유기] IP 포트포워딩 하는 방법 (0) | 2022.01.27 |
[JavaScript] 함수 선언문과 함수 표현식 (0) | 2021.09.26 |
OpenLayers, Layers 설정 만들기 (0) | 2021.08.27 |
[Tomcat] 톰캣의 기본 설정 (1) | 2021.06.26 |