0. 개요
EC2 서버를 생성하고 애플리케이션을 배포하기 위해 사용자 계정을 만든 후, 해당 계정에 다른 사람들도 안전하게 접근할 수 있도록 설정한다. SSH를 사용하여 서버에 접속하고, RSA 공개키 기반의 인증 방식을 활용하여 보안을 강화한다.
- SSH(Secure Shell)
- 원격 서버에 안전하게 접속할 수 있는 프로토콜이다. SSH를 통해 서버와 클라이언트 간의 암호화된 통신을 할 수 있다.
- RSA
- 비대칭 암호화 방식
- 두 개의 키를 사용하여 데이터를 암호화하고 복호화하는 방식 (public key / private key)
- 장점: 보안성, 1대1연결 - 공개키를 서버에 저장해서 사용하고 해당 키로 암호화된 데이터는 오직 대응되는 개인키로만 복호화 가능하다.
+) Ubuntu 서버에서 새로운 사용자 계정 생성, 해당 계정 전용 .ssh 디렉토리 생성
# chokchok 계정 생성
sudo adduser chokchok
# 홈 하위에 .ssh 디렉토리 생성 및 권한 설정
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# authorized_keys 파일 생성
touch ~/.ssh/authorized_keys
# 공개키 등록 후 권한 변경
chmod 600 ~/.ssh/authorized_keys
1. 개인 RSA 키 생성
기본 생성 경로: ~/.ssh/ 하위
# 기본 생성 명령어
ssh-keygen -t rsa
# 생성할 키의 길이를 2048 비트로 설정
ssh-keygen -t rsa -b 2048
# 키의 이름을 ~/.ssh 경로 하위에 my_key 이름으로 생성
ssh-keygen -t rsa -f ~/.ssh/my_key
ssh-keygen -t rsa ./joo
2. 서버에 개인 공개키 등록
- 로컬에서 만든 공개키 (.pub) 파일을 서버에 넣기.
-> 서버의 ~/.ssh/authorized_keys 파일에 해당 공개키를 등록. - 방법 1) 개인 공개키 파일을 열어서 해당 내용을 복사 후, 직접 서버의 authorized_keys에 붙여넣기.
- 방법 2) SCP(Secure Copy Protocol) 이용.
ex) scp ~/.ssh/joo.pub [사용자 계정 이름]@[서버의 ip주소]:[복사될 서버의 디렉토리 경로]
3. SSH로 서버 접속
SSH로 접속
ssh -i ./joo chokchok@ec2-13-124-226-12.ap-northeast-2.compute.amazonaws.com
'개발환경 설정' 카테고리의 다른 글
[개발환경 설정] Ubuntu 서버에 Nginx 설치 및 설정 (+ SSL 인증) (0) | 2025.04.20 |
---|---|
[개발환경 설정] Ubuntu에 Java 설치 및 환경변수 설정하기 (0) | 2025.04.20 |
[IntelliJ] 인텔리제이 코드 자동완성/제안 기능 끄기 (2) | 2024.11.28 |