로컬 개발 환경에서는 git을 단독으로 사용한다면 SSH가 없어도 상관없지만, 안전하게 외부 서버에서 코드를 clone하거나 push하려면 SSH 프로토콜을 사용한다.
셀을 통해서 명령어를 입력하는데, 이 명령어가 내 컴퓨터가 아닌 네트워크로 다른 컴퓨터에 전달해주고 결과를 받아볼 수 있게 해주는 것이 바로 SSH이다.
(git은 반드시 설치 되어 있어야 한다.)
공개키 인증 방식을 사용하려면 공개키와 개인키를 한 쌍으로 만들어야 한다. 공개키는 접속하고자 하는 서버에 등록해 놓는 용도로 사용하고, 개인키는 내가 공개키를 동록해놓은 SSH서버나 Git서버에 접속할 수 있다.
개인키는 비밀번호와 마찬가지로 반드시 나만 접근할 수 있도록 안전하게 보관해야 한다!
Ssh-keygen
cat ~/.ssh/id_rsa.pub
-> 접근권한이 없어서 공개키 등록해달라고 요청함
설정 방법은 https://dvlpr-chan.tistory.com/39 참고함!
1.~/.ssh 경로로 이동
cd ~/.ssh
2.config 파일 생성
touch config
3.config 파일 열기
open config
4.config 파일 내용 채워줌
Host git-codecommit.*.amazonaws.com
User <AWS 자격증명 후 나온 SSH 키 ID>
IdentityFile ~/.ssh/<1번에서 생성한 개인키 pem 파일 이름>
5.config 파일 권한 수정
chmod 600 config
6.ssh 연결이 정상적으로 되었는지 확인
ssh git-codecommit.us-east-2.amazonaws.com
HostName git-codecommit.ap-northeast-2.amazonaws.com
User <AWS 자격증명 후 나온 SSH 키 ID>
IdentityFile ~/.ssh/<개인키 pem 파일 이름>
정상적으로 연결되어 있는지 확인하려고
ssh git-codecommit.us-east-2.amazonaws.com
입력했는데...
permission denied (publickey) 이런 에러가 나왔다!
ssh EHP를 입력하니 에러 해결완료!!!
You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.ap-northeast-2.amazonaws.com closed by remote host.
Connection to git-codecommit.ap-northeast-2.amazonaws.com closed.
git clone ssh://TODOC/v1/repos/todoc_user_front
+ 추가적으로 clone하고 싶을 때는 접속 호스트 설정 한다음 git clone 해주면 됨!!!
<참고>
1.SSH설명
https://www.lainyzine.com/ko/article/creating-ssh-key-for-github/