[Oracle cloud](오라클 클라우드) OCI DB 서버 만들기 - ssh 서버 접속

devbug·2024년 12월 2일
0

OCI DB 서버 만들기

목록 보기
5/6

INTRO

이제 고정IP까지 할당이 완료되었으니, CMD를 통해 ssh 서버에 접속을 해볼 것이다.

순서
1. 구획(Compartments) 생성
2. 가상 클라우드 네트워크(Virtual Cloud Networks) 생성
3. 인스턴스(Instances) 생성
4. 예약된 퍼블릭 IP(Reserved Public IP) 할당
5. ssh 서버 접속
6. DB생성


SSH 서버 접속

SSH 서버 접속하기

필자는 서버 내에 아이디를 새로 만들어서 키 없이 비밀번호 입력으로 접근이 가능한 계정을 따로 하나 생성하고, 프로그램 설치와 같은 중요한 작업은 프라이빗 키를 통해서만 접근이 가능하도록 할 것이다. 우선 SSH 서버에 접근하기 위해서 인스턴스를 생성하면서 저장해 둔 프라이빗 키가 있는 폴더 경로를 확인하고, Windows PowerShell 로 해당 경로로 이동한다.


cd [파일 경로]

해당 폴더로 이동했으면, ssh 커맨드를 입력하여 ssh 서버에 접근한다. OCI에서 ubuntu로 인스턴스를 생성하면 기본 ID 는 ubuntu 이고, 22번 포트는 자동으로 허용되도록 설정되어있기 때문에 따로 열어주지 않아도 된다. Windows Power Shell 을 통한 기본 ssh 접속 방법은 다음과 같다.
# default 22번 포트
ssh [접속할 username]@[IP]

# ssh 포트 설정
ssh [접속할 username]@[IP] -p [포트번호]

# private key 를 이용하여 접근
ssh [접속할 username]@[IP] -i .\ssh-key-20**-**-**.key

필자는 username 은 ubuntu 로, 포트는 22번 그대로 접속할 것이기 때문에 다음 커맨드를 입력했다.
ssh ubuntu@140.**.**.*** -i .\ssh-key-202*-11-2*.key

근데 에러가 났다.


unprotected private key file 를 검색하여 무슨 에러인가 하니 Permissions for ~~ are too open. 권한이 너무 열려있어 해당 키로는 접근이 불가능하다는 것이었다. 리눅스 환경이면 chmod 로 변경해주면 된다는데, 나는 윈도우라서 속성에 들어가서 변경을 해주었다.

key 파일 우클릭 > 추가 옵션 표시 > 속성 클릭
속성 창에서 보안 탭 클릭 > 고급 클릭
을 하면 아래와 같은 화면이 나오는데, 고급 보안 설정 밑에 상속 사용 안 함 까지 클릭해준다.
중요한 것은 상속 사용 안 함을 클릭하기 전에, 기존에 설정되어있던 마이크로소프트 계정을 확인해놔야 된다. (필자의 경우 아이디@gmail.com)


클릭하면 팝업창이 하나 나오는데, 이 개체에서 상속된 사용 권한을 모두 제거합니다. 를 선택한다.


권한 모두 제거를 선택하면 권한 항목이 비워진 상태로 나타나는데, 상단에 보안 주체 선택을 클릭하면 사용자 또는 그룹 선택이라는 팝업창이 나타난다. 여기에 아까 확인해 둔 MS 계정을 입력하고 확인을 클릭한다.


그러면 보안 주체에 자신이 입력한 MS 계정이 나타나고, 밑에 기본 권한이 있는데 여기에서 읽기 및 실행, 읽기 두 개만 선택하고 확인을 눌러준다.

제대로 입력됐는지 확인 후, 적용 > 확인을 눌러서 창을 닫아주고 다시 접속해본다.

ssh ubuntu@140.**.**.*** -i .\ssh-key-202*-11-2*.key

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



비밀번호 접속 권한, 아이디 생성하기

접근이 완료되었으면 sudo 명령어를 입력하여 관리자 권한을 빌린다.

sudo su

관리자 권한으로 접속하면 기존에 ~$ 로 나오던 것과 다르게 #으로 나온다. #이 나오면 정상적으로 접근 된 것이다. 이제 nano 또는 vi 명령어를 사용하여 ssh 기본 config 파일로 접속한다. 필자의 경우 nano 명령어로 접속하였다.
nano /etc/ssh/sshd_config

현재는 비밀번호로 접속이 불가능한 상태이기 때문에 해당 조건을 풀어줘야된다. ctrl + w 를 눌러 검색창을 띄운 뒤 PasswordAuthentication 을 입력하여 검색하면 #으로 주석처리 되어있거나, PasswordAuthentication 이 no 로 되어있을 것이다. 주석을 풀어주고 yes 로 변경해준다.

완료되었으면 ctrl + x 를 입력하여 나간다.


이제 계정을 생성할 차례인데, 계정 생성에는 adduser와 useradd 가 있다.
  • adduser 의 경우 홈 디렉토리를 /home/유저명 으로 자동 생성해준다
  • useradd 의 경우 홈 디렉토리를 자동으로 생성해주지 않는다.

이러한 차이가 있는데, 필자는 adduser를 사용하여 자동으로 홈 디렉토리가 설정되도록 만들 것이다. adduser 명령어를 사용하여 새로운 username 을 만들어주자
adduser [유저명]

New password 라고 나오는데 비밀번호를 입력해준다. 입력해도 커맨드 창에 따로 출력은 되지 않고, 백스페이스를 눌러도 수정되지 않으니 꼼꼼하게 눌러주는 것이 좋다. 입력하면 한 번 더 입력하라고 나오는데, 똑같이 입력하면 된다. 그리고 기본적인 value 정보를 입력하라고 나오는데, 그냥 빈 칸으로 넘겨도 상관없다. 필자는 넘겼다.

아이디까지 생성되었으니 이제 계정 접근할 때 아이디만 있으면 접근해서 읽기/쓰기 정도는 가능할 것이다. 이제 재시작을 한 뒤, exit 를 입력하여 서버에서 나가서 Power Shell로 돌아온 뒤 직전에 생성해 둔 계정으로 접근하도록 커맨드를 입력해준다.

# 재시작
sudo service sshd restart

# 생성한 아이디로 접속
ssh [접속할 username]@[IP]

그러면 이제 아이디로 접근이


찾아보니까 작업이 하나 덜 된 상태였다. 다시 key로 SSH에 접근하여 관리자 모드로 들어가고 다음 명령어를 입력한다.

nano /etc/ssh/sshd_config.d/*.conf

여기에도 PasswordAuthentication 이 있는데, 여기도 상태를 yes 로 변경해준 뒤 ctrl + x 를 눌러 나가준다.


재시작도 한번 돌려주고

sudo service sshd restart

나간 뒤 다시 SSH 접속을 시도한다.
ssh [접속할 username]@[IP]


접속 완료.

0개의 댓글