개발환경 설정

[개발환경 설정] SSH로 서버 접속하기: RSA 키 생성 및 등록 방법

Joo.v7 2025. 4. 20. 16:01

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