AWS의 Linux Instance 생성 이후 최초 SSH 접속 시 default user name과 지정한 EC2의 key-pair를 기반으로 접속한다.

아래 내용은 해당 key-pair 변경 및 신규 user에도 적용하는 방법에 대하여 기술함.


각 user의 홈디렉토리 아래에 .ssh 디렉토리 아래 authorized_key 파일을 생성해 준다. 

  • /home/`user home dir`/.ssh/authorized_key
    • ex) touch /home/ec-user/.ssh/authorized_key
  • 신규 생성한 key 파일을 서버에 업로드.
  • 업로드 된 키파일의 key 값 확인
    • ssh-keygen -y -f /path_to_key_pair/key-pair-name.pem
  • 위 key 값을 생성한 authorized_key 파일에 저장.
  • 이후 변경 된 key-pair로 SSH 접속 확인.


위 작업에 대한 응용으로 전체 리눅스 서버에 대하여 일괄 변경 적용 가능한 script 작성 함.

해당 작업은 ISMS로 인하여 비밀 PW 대신 key-pair 방식으로 로그인을 유지하되 분기 별로 key-pair 변경 작업을 진행해야 한다.


================================================================================ 

구성은 총 3개의 파일로 되어있습니다.

  • user-main-script.sh
    • ec2-list를 참조하여 대상 서버들에 create-user.sh 실행
    • USERDIR/.ssh/authorized_keys 에 pem key 값 등록
  • create-user.sh
    • user 생성
    • 홈디렉토리 아래 .ssh/authorized_keys 생성
    • 생성된 user /etc/sudoers 등록
  • ec2-list
    • 관리 대상 서버들의 list 파일
    • Name | Private IP | username | As-Is key | port | To-Be key | 순으로 기입 필요

Bastion 서버에서 실행하여 대상 일괄 적용

  • 사용 법
    • user-main-script

      • FILENAME=’ec2-list’ → Naming 이상 없는지 확인


    • create-user.sh

      • USERNAME=iicuser 생성하려는 user의 name 지정

    • ec2-list

      • excel 파일 사용하여 작성 가능

      • 위 영역을 복사하여 vi 편집기에 붙여 넣기 하면 아래 형식으로 정렬 됨.

위 사항 모두 변경 후 user-main-script.sh 실행


위 가이드에서 사용 된 스크립트는 아래 첨부파일로 업로드 하였습니다.

첨부파일 : create-user.zip