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 이상 없는지 확인
USERNAME=iicuser → 생성하려는 user의 name 지정
ec2-list
excel 파일 사용하여 작성 가능
위 영역을 복사하여 vi 편집기에 붙여 넣기 하면 아래 형식으로 정렬 됨.
위 사항 모두 변경 후 user-main-script.sh 실행
위 가이드에서 사용 된 스크립트는 아래 첨부파일로 업로드 하였습니다.
첨부파일 : create-user.zip