오라클 클라우드(OCI) 서버 구축하기 - 추가 사용자 생성

목차

  1. 구획 생성
  2. 네트워크 설정
  3. Instance 생성
  4. Nginx 설치
  5. MySQL 8 설치
  6. 방화벽 설정

에러를 발견해서 다시 작성합니다. 공개키방식으로 인증하는걸 채택하면서 생긴 문제가 추가 사용자로 접근하는걸 할줄 몰랐다는겁니다.
이번에 알아보면서 추가 사용자를 생성하고 접근할 수 있는 방법을 익혀서 이렇게 기록으로 남기게 되었습니다.
이 주제는 사진으로 찍게되면 모자이크 처리해야할 부분이 많아 보여 명령어 위주로 작성합니다.

root passwd 설정하기

초기 root 패스워드를 설정해야합니다. 초기 인스턴스 생성 때 활용했던 방법을 통해 opc에 접근하고 sudo su로 루트로 진입합니다.
아래의 방법으로 패스워드를 설정합니다.

opc@Instance-name$ sudo su
root@Instance-name# passwd

유저 생성 및 authorized_keys 생성

먼저 oracle-cloud - 컴퓨트 - 인스턴스 - 인스턴스 세부정보로 가셔서 아래로 내려가서 콘솔접속에서
Cloud Shell을 실행하세요.

  • {value} 안의 값은 변경가능한 값입니다.
user-name@Instance-name:path$ useradd {userName} && adduser {userName}
user-name@Instance-name:path$ cd .. && cd {userName} && mkdir .ssh
user-name@Instance-name:path$ chmod 700 .ssh && cd .ssh

Server 측 SSH키 생성

서버측에서 먼저 ssh키를 생성합니다.
위에서 저희는 root passwd를 설정했습니다. 웹에서 Oracle CloudShell 을 켜서 루트로 접근합니다.

> login : root
> passwd : 위에서 설정한 passwd
> root@Instance-name# ssh-keygen -t rsa -b 4096

ssh-keygen은 git이 있거나 리눅스에서는 defult로 설치되어있습니다. 이제 방금 만든 key를 확인합니다.

> root@Instance-name# cat /.ssh/id_rsa.pub
> ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA …………………………………………………………………
> …………………………………………………………………… = User-DaskTop-ID.local

여기서 반드시 ssh-rsa부터 여러분의 유저 아이디.local까지를 다 복사하셔야됩니다.
이제 서버측은 잠시 나두고 client로 가보도록하죠.

Client 측 SSH키 생성

Client라고 표현했지만 쉽게 말하면 여러분들의 로컬 컴퓨터입니다.
제 경우에는 주로 맥북으로 작업하지만, 맥은 최초 인스턴스 생성 때 ssh키를 넣어서 생성했으니 진행할 필요가없습니다.
그래서 윈도우 컴퓨터로 진행하고있습니다. 참고로 윈도우 컴퓨터에서의 Console 접근 환경은 WSL2 입니다. WSL2 설정은 다음에 글로 작성해서 다루도록 하겠습니다.

실습 진행 중 윈도우 컴퓨터 환경
Windows 10 Pro
WSL2 Ubuntu LTS + Windows Terminal
zsh + oh my zsh
installed git

> user-name$ sudo ssh-keygen -t rsa -b 4096  
> user-name$ cd defult-path/.ssh  
> user-name$ cat id_rsa.pub  
> user-name$ echo >> {Server측 ssh-key} authorized_keys  
> user-name$ chmod 600 authorized_keys  

먼저 여기서 생성될 때 defult경로를 잘 보고 그 경로의 ssh에 접근해야합니다. 그리고 cat을 통해 id_rsa.pub 확인합니다. 이건 복사해두었다가 서버 측에 작성할 예정입니다. 마지막으로 authorized_keys 파일을 생성하고 600으로 권한을 변경합니다.

authorized_keys 생성 예시

vim authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA …………………………………………………………………
> …………………………………………………………………… = User-DaskTop-ID.loca

Server 측 authorized_keys 생성

다시 서버로 돌아갑니다.
먼저 아까 만든 유저로 로그인하여 ssh 폴더로 접근합니다.

> user-name@Instance-name$ cd .ssh
> user-name@Instance-name$ vim authorized_keys
> user-name@Instance-name$ {client측 ssh-key} 
> user-name$ chmod 600 authorized_keys

ssh폴더에서 client측에서 복사해둔 ssh키를 입력하고 authorized_keys로 파일을 생성합니다.
그리고 마지막으로 600권한을 주게되면 실행 준비 완료입니다.

접속 테스트

Client측에서 접근을 시도합니다.

> user-name@Instance-name$ ssh user-name@public-ip-address
> # OR
> user-name@Instance-name$ ssh -i defult-path/.ssh/is_rsa.pub user-name@public-ip-address

정리

정리하자면,

  1. root passwd 설정이 되어야함.
  2. cloud shell을 통해 세팅해야함.
  3. server측에서 계정을 만들고 ssh키를 생성해야하며, authorized_keys를 만들어 접속하는 계정의 ssh키를 작성해야함.
  4. client측에서 ssh키를 생성하고 authorized_keys를 만들어 server측 계정에서 받은 ssh키를 입력해야함.
  5. 결론적으로 server ( ssh, authorized_keys ), client ( ssh, authorized_keys )키가 완전하게 대칭되어야 접근가능.

이 글이 도움이 되었나요?

신고하기
0분 전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.