쉘 스크립트를 통해 매번 처리되어야하는 여러 과정을 단순화시키려했더니 그 과정의 일부로 깃에서 pull을 통해 최신 버전 파일을 가져올 때마다 로그인해야하는 귀찮음이 생겼다... 이를 해결하기 위해 인스턴스 환경에서 생성한 공개키를 GitHub를 통해 내 Git계정에 등록해 이를 기반으로 자동 로그인이 되도록 해보았다.
1. 공개키, 비밀키를 저장해둘 디렉토리 확인 또는 생성
인스턴스 접속 후 '~' 디렉토리 아래에 '.ssh' 디렉토리 존재 확인
* 내 경우는 없어서 디렉토리 생성함
mkdir .ssh
2. 인스턴스에서 공개키, 비밀키 생성
.ssh 디렉토리에서 key-gen을 통해 공개키와 비밀키 생성
ssh-keygen
* 총 세번 입력해야하는데, 순서대로 키를 생성할 위치, 비밀번호(선택사항. 사용하지 않을 경우엔 그냥 Enter), 비밀번호 재확인(이역시 비밀번호 미사용시에는 Enter) 입력
* id_rsa.pub은 공개키, id_rsa는 비밀키다.
- 이 때, 키 생성 후 cat id_rsa.pub을 통해 키 내용 확인, 복사해둘 것
3. Git 계정에 공개키 등록
- GitHub의 내 프로필 클릭 후 Setting 메뉴 선택. Setting 페이지에서 SSH and GPG keys 메뉴 선택
- 새로운 키를 생성하도록 해서 Key란에 해당 key값을 입력해야한다. Title은 크게 중요하지 않음
- 키가 등록되고 나면 아래와 같이 보여진다.
4. 인스턴스에 원격 저장소 클론하기
키를 GitHub에 등록하고 나서는 인스턴스의 clone하려는 디렉토리에 git clone 깃 주소를 통해 클론하면 연결할 것인지를 묻는다. 이 때 'yes' 입력 후 Enter를 누르면 그대로 진행된다!!
클론 후에 키를 생성하기도 하고 HTTPS을 위한 Clone git 주소를 입력하면서 왜 SSH Key가 사용되지 않는지 의문이었으나, 결국 해결했다! 이제 매번 배포 쉘 스크립트를 실행할 때마다 깃 자격 증명을 하지 않아도 된다!!
'AWS > AWS EC2 배포' 카테고리의 다른 글
Linux Character set 변경 (0) | 2021.04.13 |
---|---|
EC2 인스턴스에 MariaDB 설치 (0) | 2021.04.12 |
iptables 재설치 / 타임존 변경 (0) | 2021.04.12 |
EC2를 통한 스프링부트 웹 애플리케이션 배포 (0) | 2021.04.05 |
EC2 인스턴스 생성 후 배포 중 생긴 이슈(Timed out) (0) | 2021.04.05 |