하얀설표 블로그




오라클 클라우드)ssh 접속 + 리눅스 iptables 포트 규칙 저장 방법





( 수정됨)


바스티온은 필요없다

오라클 클라우드 서버 설정 관련 글은 찾기 힘들다.
내가 오라클 클라우드에 ssh 접속 방법을 찾을 때는 바스티온(OCI Bastion)이라는 서비스를 생성하여 우회 접속하는 방법만이 노출되었다.

제3자에게 서버 접속 권한을 줘야 하는 상황이라면 모르겠지만, 그게 아니라면 굳이 바스티온을 생성할 필요 없이 바로 인스턴스에 접속할 수 있는데, 왜 그런 것이지 이해가 가지 않는다.
바스티온에 관심이 있다면 구글 검색 결과를 참고하도록 하자.

이 글에서는 바스티온을 생성하지 않고 인스턴스에 접속하는 방법을 다룬다.

username과 ip address 확인하기

ssh 접속시 사용하는 ip address는 인스턴스에서 확인 가능한 "Public IPv4 address"를 이용할 것이다.
username도 함께 사용하니 잊지 말자.

인스턴스 설정 메뉴에 접근하는 방법을 모른다면 이 글을 확인하자.

이전에 고정 ip를 연결하는 과정을 거쳤으므로 관련 내용은 이 글을 참고하자.

ssh key file 확인하기

ssh 연결시 서버를 생성하는 과정에서 발급받은 ssh key 파일이 필요하다.
서버를 생성하는 과정에서 받은 파일을 잘 보관했길 바란다.

기억이 나지 않는다면 오라클 서버 생성 방법을 다시 보고 오자.

ssh 접속

windows 10 환경에서 OpenSSH를 통해 접속하다. OpenSSH 설치 방법은 이 글에서 확인할 수 있다.

접속 명령어는 다음과 같다.

```

$ ssh {Username}@{ip address} -i {key 파일 경로}

```

포트 개방하기

인스턴스 관리에서 포트를 개방하면 끝이었던 아마존 라이트세일(aws lightsail)과는 다르게 오라클 클라우드는 인스턴스 관리에서 포트를 개방하고, 서버에서도 따로 포트를 개방해주어야 한다.
ssh 접속을 한 김에 포트 개방까지 해두자.

```

# 80 포트 개방

# 방법 1

$ sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

# 방법 2

$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 443 포트 개방

$ sudo iptables -I INPUT 2 -p tcp --dport 443 -j ACCEPT

# 개방 포트 확인 방법

$ sudo iptables --list

```

포트 개방에는 -I와 -A 2개의 명령어가 있다. -I는 삽입 위치를 정하는 insert, -A는 단순 삽입만 하는 append를 의미한다.
만약 제거하고 싶은 규칙이 있다면 "iptables -D INPUT {list index}" 명령어를 사용하면 된다.

포트 규칙 저장하는 방법

리눅스에서는 변경된 iptables 규칙이 저장되지 않는다. 정확하게는 재부팅(reboot)할 때마다 규칙이 초기화된다.
궁금하다면 지금 당장 iptable 규칙을 변경한 서버를 재부팅해보자.

규칙을 저장하기 위해 별도의 패키지 설치가 필요하다.

```

# iptables-persistent 설치

$ sudo apt install iptables-persistent

# iptables 규칙 저장

$ sudo netfilter-persistent save

```

규칙 저장을 위해 iptables-persistent 패키지를 설치해준다.
하지만 명령은 "netfilter-persistent"에 한다. "netfilter-persistent"는 "iptables-persistent" 설치시 함께 설치되는 서비스다.

"netfilter-persistent save"까지 완료했으면 서버를 재부팅한 다음, 변경한 포트 규칙이 제대로 적용되고 있는지 확인해보자.


공감 : 0







white.seolpyo.com