본문 바로가기
관심분야

AWS|EC2 Ubuntu에서 사용자 생성 및 SSH접속하기

by beresford 2023. 2. 9.

Linux(ubuntu)을 사용하여 팀 단위로 프로젝트를 수행하는 경우에 사용자별 접속 및 권한관리가 필요합니다. 새로운 사용자를 생성하고 SSH접속을 위한 Key Pair(Public key/Private Key) 생성 및 관리, 로그인에 필요한 환경 설정 과정을 살펴보도록 하겠습니다.   

1. 새로운 사용자 계정생성

1) root권한 또는 root계정으로 인스턴스(Ubuntu 22.04.1 LTS)에 로그인을 합니다. adduser명령어로 새로운 사용자(예시:humber)를 생성합니다. 생성된 사용자는 /etc/passwd에 추가됩니다. 

ubuntu@ip-172-31-47-0:~$ sudo su -
root@ip-172-31-47-0:~# id
uid=0(root) gid=0(root) groups=0(root)
root@ip-172-31-47-0:~# adduser 사용자명(humber)

2) 새롭게 생성된 사용자계정의 퍼미션이나 리소스의 소유권을 확인하기 위해서 해당 사용자계정으로 전환을 합니다.

root@ip-172-31-47-0:~# sudo su - humber
humber@ip-172-31-47-0:~$ cd $HOME
humber@ip-172-31-47-0:~$ pwd
/home/humber

2. 사용자계정의 Key생성

사용자 계정에 SSH 퍼블릭 키를 추가하기 위하여 사용자 홈디렉토리 아래에 SSH 파일을 저장하기 위한 디렉토리를 만든 다음 파일을 만들어 둡니다. AWS|EC2 콘솔에서 Key Pair를 생성하여 다운로드한 후, PC의 PuTTYgen에서 퍼블릭 키는 authorized_keys파일에 붙여 넣습니다. 

1) .ssh디렉토리를 생성하고 퍼미션을 700(소유자만 해당 디렉토리를 열거나 읽거나 쓸 수 있는 권한)을 설정합니다.

humber@ip-172-31-47-0:~$ mkdir .ssh
humber@ip-172-31-47-0:~$ chmod 700 .ssh
2)
authorized_keys라는 파일명을 .ssh 디렉토리 아래에  생성하고 파일의 권한을 600(소유자만 파일을 읽거나 있는 권한)으로 변경합니다.

humber@ip-172-31-47-0:~$ cd .ssh
humber@ip-172-31-47-0:~$ touch authorized_keys

humber@ip-172-31-47-0:~$ chmod 600 authorized_keys

3) AWS|EC2 Console에서 putty에서 사용하기 위한 파일형식을 지정하여 Key를 생성합니다. 생성된 키는 ppk확장자로 PC에 자동 다운로드됩니다.

Key Pair 생성
Key Pair 생성

4) 다운로드된  Key 파일을 PuTTYgen을 실행하여 다운로드된 Key파일을 Load 하여 Public Key를 복사하여 2)에서 생성한 authorized_keys에 붙여 넣기를 합니다.  PuTTYgen에서는 Save private key를 클릭하여 private key를 저장합니다.

PuTTYgen
PuTTYgen

3. PuTTY로 SSH 로그인

 

PuTTY를 실행하여  ssh로 로그인을 합니다. IP와 Port Number(22)를 설정하고 credentials에서 PuTTYgen에서 저장한 Private Key를 지정하여 로그인을 하면 정상 로그인되는 것을 확인할 수 있습니다.

Putty환경설정및 실행
Putty환경설정및 실행

4. sudo명령 실행권한

sudo명령을 실행하기 위한 권한을 부여받기 위해서는 'Linux-sudo권한문제' 편을 참조 바랍니다.

https://humber.tistory.com/entry/Linux-sudo%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EA%B6%8C%ED%95%9C-%EB%AC%B8%EC%A0%9C

 

Linux-sudo명령어 사용권한 문제

일반 사용자가 Command Shell에서 Linux의 sudo 명령어를 수행하고자 할 때 권한이 없으면 "'user name' is not in the sudoers file. This incident will be reported."라는 메시지를 만나게 됩니다. Linux설치 초기에 일반사

humber.tistory.com

 

5. 마무리

Linux초기 환경 설정에 필요한 새로운 사용자를 생성하고 SSH접속을 위한 Key Pair 생성 및 관리, 로그인에 필요한 환경 설정 과정을 살펴보았습니다. 

댓글